![]() |
Keystroke "Tab" an TWebBrowser senden..
Hi guys!
Hab da nen kleines Problem. Also ich hab in mein Programm einen WebBrowser eingebaut. Wenn man beim laufenden Programm die Tab Taste innerhalb des Browsers drückt sieht man ja, dass er von Link zu Link (bzw Button / Eingabefeld) springt. Ich würde das gerne Simulieren. Da ich nicht will, dass das Programm im Vordergrund sein muss kann man ja mit dem WinAPI keybd_event() nicht arbeiten. Ich hab es deswegen mit dem Handle vom Programm versucht und auch mit dem Handle für den Webbrowser. Wenn ich ihm aber ein "Tab" sende passiert einfach nix. Gibt keinen Fehler oder so aber der Tab / Sprung zum nächsten Objekt passiert einfach nicht... Weiss nicht ob das dann überhaupt geht :? . Vielleicht könnt ihr mir ja helfen!! [EDIT] Oi Oi, dass sieht bei der Resonanz nicht gut aus :(. Falls jemand das mal selber ausprobieren will ![]() "3. With keybd_event API" probiert. [/EDIT] MFG emploi |
Re: Keystroke "Tab" an TWebBrowser senden..
Tio so kanns gehen. Ansatz war ja ok, und dennoch falsch...
Habs jetzt selber hinbekommen! Für alle die es interessieren sollte: Input Button Click:
Code:
Link Click:
procedure TForm1.Button1Click(Sender: TObject);
var ovElements: OleVariant; i,j: Integer; begin for j := 0 to (WebBrowser1.OleObject.Document.forms.Length - 1) do begin ovElements := WebBrowser1.OleObject.Document.forms.item(j).elements; for i := 0 to (ovElements.Length - 1) do if ((ovElements.item(i).tagName = 'INPUT') and (ovElements.item(i).type = 'submit') and (ovElements.item(i).Value = 'Login2')) then ovElements.item(i).Click; end; end;
Code:
MFG emploi
procedure TForm1.Button2Click(Sender: TObject);
var i:integer; ovLinks: OleVariant; begin ovLinks := Webbrowser1.OleObject.Document.links; for i := 0 to (ovLinks.Length - 1) do IF ovLinks.Item(i).InnerText = 'Link 4' THEN ovLinks.Item(i).Click; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:48 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