![]() |
Re: Mausklick simulieren funktioniert nicht
1. Steht der Fokus auf der CheckBox?
2. ![]() ![]() PS: Wieder nicht vorhandener roter Kasten: :? :? Seltsam, ich verwende nie die WM_SetFocus Nachrichten :gruebel: |
Re: Mausklick simulieren funktioniert nicht
Zitat:
Aber die Checkbox kann ich seltsamerweise trotz Focus nicht anhaken :( Hier mal der aktuelle Code:
Delphi-Quellcode:
Also zulassen geht wunderbar mit dem Code, das mit der checkbox nicht, egal ob ich den focus auf die box reinnehme oder nicht
var wnd,wnd1: HWND;
begin wnd := FindWindow('#32770','ZoneAlarm-Sicherheitswarnung'); wnd1 := FindWindowEx2(wnd,'ZaButton', 2); //Checkbox if (wnd <> 0) and (iswindowvisible(wnd)) then begin SetForegroundWindow(wnd); SendMessage(wnd, WM_SETFOCUS, 0, 0); keybd_event(VK_TAB, 0, 0, 0); keybd_event(VK_TAB, 0, KEYEVENTF_KEYUP, 0); SendMessage(wnd1, WM_SETFOCUS, 0, 0); //FOcus auf checkbox keybd_event(VK_SPACE, 0, 0, 0); //checkbox anhaken keybd_event(VK_SPACE, 0, KEYEVENTF_KEYUP, 0); keybd_event(VK_TAB, 0, 0, 0); keybd_event(VK_TAB, 0, KEYEVENTF_KEYUP, 0); keybd_event(VK_SPACE, 0, 0, 0); //Zulassen klicken keybd_event(VK_SPACE, 0, KEYEVENTF_KEYUP, 0); |
Re: Mausklick simulieren funktioniert nicht
Ähm, Du verwechselst da was:
WM_SETFOCUS wird an als Benachrichtigung an ein Fenster gesendet, das es den Fokus erhalten hat. Was Du suchst ist: ![]() Vorsicht: Windows.SetFocus schreiben :wink: Edit: Deshalb auch die scheinbar 2 Fokusierten Buttons, bzw. hat die CheckBox nicht wirklich den Fokus, sie glaub es nur, weil Du ihr das vorgaukelst :mrgreen: |
Re: Mausklick simulieren funktioniert nicht
Zitat:
wnd1 ist die checkbox
Delphi-Quellcode:
......
keybd_event(VK_TAB, 0, 0, 0); keybd_event(VK_TAB, 0, KEYEVENTF_KEYUP, 0); Windows.SetFocus(wnd1); keybd_event(VK_SPACE, 0, 0, 0); keybd_event(VK_SPACE, 0, KEYEVENTF_KEYUP, 0); |
Re: Mausklick simulieren funktioniert nicht
Wenn man das selber net Testen kann is etwas schwer :(
Aber Zeit für Plan B :mrgreen: Hab mir das Bild nochmal angeguckt und gesehen, das die CheckBox nen AccelChar hat :stupid: Versuchs mal damit:
Delphi-Quellcode:
// d drücken
keybd_event(68, 0, 0, 0); keybd_event(68, 0, KEYEVENTF_KEYUP, 0); |
Re: Mausklick simulieren funktioniert nicht
Eigentlich wäre es ja so viel zu einfach oder?
:-D (kann es leider auch nicht testen... Leuchtende Grüße Stefan |
Re: Mausklick simulieren funktioniert nicht
Nö warum,
eigentlich müßte das genügen:
Delphi-Quellcode:
Grüßle!
...
begin SetForegroundWindow(wnd); keybd_event(68, 0, 0, 0); // d drücken keybd_event(68, 0, KEYEVENTF_KEYUP, 0); keybd_event(76, 0, 0, 0); // l drücken keybd_event(76, 0, KEYEVENTF_KEYUP, 0); end; |
Re: Mausklick simulieren funktioniert nicht
Zitat:
Haben die Heinis zwar unterstrichen aber nicht implementiert |
Re: Mausklick simulieren funktioniert nicht
Hi Ihr,
kann es sein das ihr grad nen Denkfehler eingebaut habt? um den AccelChar anzusteuern benutzt man doch normalerweise auch die Alt taste oder?? das heißt erst alt taste Drücken dann D drücken dann D loslassen dann alt Loslassen ;-) oder Irre ich mich jetzt? Leuchtende Grüße Stefan |
Re: Mausklick simulieren funktioniert nicht
Zitat:
auch nicht wenn ich vor dem rechner selbst sitze und maus und tastatur benutze ;) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:40 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 by Thomas Breitkreuz