[ Vladica Savić @ 20.11.2009. 14:26 ] @
Pozdrav, zanima me da li je moguće i kako da putem moje aplikacije detektujem da li je postavljen fokus na neki html element u web browser-u? |
[ Vladica Savić @ 20.11.2009. 14:26 ] @
[ tkaranovic @ 21.11.2009. 14:46 ] @
Ako se "web browser" odnosi na, recimo, InternetExplorer, onda može da posluži TInternetExplorer (SHDocVw.pas) ali nešto detaljnije o tome kako nemam jer sam jednom samo probao kako radi...
[ Vladica Savić @ 23.11.2009. 08:21 ] @
Aha, ok, pogledacu. Hvala
A sta je sa ostalim poznatijim, poput firefox-a, chrome-a, opere? [ stankons @ 23.11.2009. 08:26 ] @
Lično mislim da ne možeš to da uradiš, ali možeš da koristiš neki embeded web browser, u Delphi - u, pa odatle da vršiš detekciju.
Na primer: http://www.bsalsa.com/ [ Vladica Savić @ 23.11.2009. 08:45 ] @
Ne treba mi web browser unutar moje app, vec moja app da moze da detektuje neku drugu.
[ stankons @ 23.11.2009. 08:50 ] @
Znam, ali mislim da to ne možeš da uradiš.
Eventualno, da automatizuješ IE, na primer, i svakih par sekundi proveravaš da li određeno polje ima fokus... [ tkaranovic @ 23.11.2009. 13:05 ] @
Ako pod detektovabhen podrzumevaš pristup već otvorenom IE-u onda ne može, ali može da se otvori IE.
Može da se kreira (u OnKreiranje forme): InternetExplorer1 := TInternetExplorer.Create(Application); da se vidi: InternetExplorer1.Visible := true; može da se otvori neki link (može i iz IE-a da se otvori): InternetExplorer1.Navigate('neki link'); ovako se zatvara (ne mora): InternetExplorer1.Quit; u OnClose forme: InternetExplorer1.Free; ovako može da se vidi html kod dokumenta otvorenog u IE: var Doc: IHTMLDocument2; begin Doc := InternetExplorer1.Document as IHtMLDocument2; showmessage(Doc.body.innerHTML); Znači da može da se dođe do IHTMLDocument2 isto kao i sa TWebBrowser komponentom. U uses listu treba dodati MShtml a može se pregledati i videti šta sve tu ima osim IHTMLDocument2, pa se onda može ostalo guglati po ključnim rečima. Moguće da i za duge web pregledače ima nešto slično ali to (koliko znam) nije išlo uz Delphi. [ Vladica Savić @ 24.11.2009. 08:24 ] @
@tkaranovic - znam za to, ali to nije ono što mi treba :)
...sve u svemu, izgleda da nije izvodljivo, bar ne na osnovu informacija koje sam ja prikupio. Ukoliko neko dodje nekako do nekog rešenja ipak, nek slobodno postuje. Hvala na pomoći u svakom slučaju. [ tkaranovic @ 24.11.2009. 12:27 ] @
To što sam napisao nije ono što si tražio nego ono šta može da se uradi (samo) sa (T)InternetExplorer. :) Pokušavam da pišem u skladu sa pravilima ovog foruma i da ostavim da nešto i sam pronađeš dopišeš. :) Ako neko bude ima link ka nečem kompletnijem i ja ga pozivam da da prosledi ovde. :)
Recimo, dalje od onoga što sam napisao bi bilo da možeš da izlistaš sve otvorene html dokumente, u bilo kom otvorenom IE, korišćenjem (T)ShellWindows (i TInternetExplorer). A da bi došao do fokusiranog elementa moraš da koristiš (i) IHTMLElement. Onda, recimo, možeš u IE da otvoriš adresu http://www.elitesecurity.org/, da fokusiraš polje za unos korisničkog imena i onda bi mogao da dobiješ ovakav (log) ispis (tag elementa i njegov html kod): otvorena adresa: http://www.elitesecurity.org/ fokusiran element: INPUT, <INPUT maxLength=25 name=username> Ili da biraš od svih otvorenih dokumenta, na osnovu adrese, (svih IE instanci) dokument čijem interfejsu ćeš da pristupiš. Ako ni ovo nije ono što si tražio :) onda će barem ostati kao putokaz u ovoj temi za nekoga kome bude (kada bude, recimo, pretraživao ES forum...) nešto tako trebalo. Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|