![]() |
Tastendruck in TWebBrowser simulieren klappt nicht..
Hallo :)
erstmal den code der procedure die den tastendruck in browser=TWebBrowser simulieren sollte: (geht testweise nur um Numpad 8 und Numpad 2)
Delphi-Quellcode:
und das ist eine dummy-webpage:
procedure numkeyp(k:integer);
begin mf.browser.SetFocus; { kann ich weglassen oder? ;) } case k of 8: PostMessage(mf.browser.Handle,WM_KEYDOWN,VK_NUMPAD8,0); 2: PostMessage(mf.browser.Handle,WM_KEYDOWN,VK_NUMPAD2,0); else end; PostMessage(mf.browser.Handle,WM_KEYUP,0,0); end;
Code:
der TWebBrowser bekommt von dem 'tastendruck' nichts mit, wenn ich die taste selbst drücke funktioniert es..
<html>
<body> <script language=javascript> document.onkeypress=keyevent; function keyevent(e) { document.write(String.fromCharCode(window.event.keyCode).toUpperCase()); } </script> das problem ist also, wie ich den tastendruck simuliere, wie mache ich es richtig? bitte kein verweis auf die suche, da hab ich mir postmessage rausgesucht ;) danke + lg, resolution |
Re: Tastendruck in TWebBrowser simulieren klappt nicht..
Versuch es doch mal mit
Delphi-Quellcode:
procedure numkeyp(k:integer);
begin mf.browser.SetFocus; // { kann ich weglassen oder? ;) } << jetzt nicht mehr ;o) Case k of 2: keybd_event(Ord('2'), 0, 0, 0); 8: keybd_event(Ord('8'), 0, 0, 0); end; end; :hi: |
Re: Tastendruck in TWebBrowser simulieren klappt nicht..
hm, die anwendung läuft ja im hintergrund, verliere ich dann nicht eigentlich den focus bei dem programm mit dem ich gerade arbeite? z.B. Texteditor?
und dann ist doch keybd_event global, s.d. die Zeichen dann auch bzw. doch nur im Texteditor auftauchen würden, oder? :) die tasten sind shortcuts für links, ich suche mir also im moment die links anhand von Item().innerText und innerHTML heraus und dann eben Item().Click, ist auch für zukünftige erweiterungen praktischer :) |
Re: Tastendruck in TWebBrowser simulieren klappt nicht..
Ja, bei keybd_event muss deine Anwendung aktiv sein und der Browser muss den Focus haben.
Schau dir sonst mal SENDKEYS an ... Das könnte noch eine Alternative sein |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:04 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