![]() |
IE: Felder ausfüllen
Ich will folgendes machen:
Mein Programm soll die laufenden IE-Instanzen auflisten, man kann eine davon auswählen und dort dann Felder ausfüllen (vorher definiert welche das sind), wie z.B. das Suchen-Feld hier bei DP. Mein erstes Problem ist, dass ich nicht weiß, wie ich alle laufenden IE-Instanzen aufliste :?:. Das mit den Feldern ausfüllen habe ich schon hinbekommen, allerdings nur im WebBrowser von meiner eigenen Anwendung. Die Felder sollen allerdings im IE-Fenster ausgefüllt werden. Für jede Anregung bin ich dankbar. |
Zitat:
![]() Hier noch ein Codeschnippsel, welcher alle laufenden IE Instanzen auflistet und dann über das IWebbrowser2 Interface die Items eines Dokumentes auflistet, usw.
Code:
var
ShellWindow: IShellWindows; WB: IWebbrowser2; spDisp: IDispatch; IDoc1: IHTMLDocument2; Document: Variant; i, k, m: Integer; ovElements: OleVariant; begin ShellWindow := CoShellWindows.Create; // get the running instance of Internet Explorer for k := 0 to ShellWindow.Count do begin spDisp := ShellWindow.Item(k); if spDisp = nil then Continue; // QueryInterface determines if an interface can be used with an object spDisp.QueryInterface(iWebBrowser2, WB); if WB <> nil then begin WB.Document.QueryInterface(IHTMLDocument2, iDoc1); if iDoc1 <> nil then begin WB := ShellWindow.Item(k) as IWebbrowser2; Document := WB.Document; for m := 0 to Document.forms.Length - 1 do begin ovElements := Document.forms.Item(m).elements; // iterate through elements for i := ovElements.Length - 1 downto 0 do begin try // if input fields found, try to fill them out if (ovElements.item(i).tagName = ... (ovElements.item(i).type = ... begin // ... end; except // failed... end; end; { for i...} end; { for m } end; { idoc <> nil } end; { wb <> nil } // ... end; { for k } end; |
Danke erstmal für diene Antwort!
Allerdings kommt bei mir der Fehler, dass er IShellWindwos nicht kennt, was muss ich tun dass das verschwindet? Zu dem bei deinem Link angegeben Code: Er findet bei mir die unit MSHTML_TLB nicht, wo bekomm ich die her? |
weiß zwar nicht ob das was damit zu tun hat, aber vielleicht musst du noch irgend ne Unit einbinden
|
Zitat:
Eine Anleitung gibt's ![]() |
OK entweder stell ich mich grad völlig dumm an oder was weis ich.
Ich kriegs einfach nicht installiert. Ich habe mir diese Anleitung durchgelesen, alles genau so befolgt aber nix! Ich mach Import Type Library und nehm da MS HTML Object Library. Dann Create Unit und dann hab ich ne 11mb große .pas-Datei. Wie krieg ich die jetzt aber in mein Projekt? Der will eine .dcu-Datei. Also sorry wenn das nur ein völlig dämliches problem ist, aber ich kriegs einfach nicht hin :x |
Kopiere die Datei mal in das Verzeichnis, wo deine Projekte Dateien sind.
Ansonsten muss die Datei über das Suchpfad auffindbar sein. |
sorry aber das Kopieren hat nix genützt :(
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:58 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz