Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Keybd_Event funktioniert nicht richtig... (https://www.delphipraxis.net/104461-keybd_event-funktioniert-nicht-richtig.html)

napsterxx 4. Dez 2007 16:52


Keybd_Event funktioniert nicht richtig...
 
Ich habe Warcraft III, und wollte für die Map DotA ein Hotkey Tool schreiben.
Jetzt will ich, dass wenn "Q" gedrückt wird an Warcraft die Taste "C" gesendet wird. Wieso? Also auf "C" liegt ein Spell von einem Hero. Jetzt wird "Q" anstatt "C" gedrückt ;)

Q ist ein Systemweiter Hotkey. Wenn der gedrückt wird, wird das ausgelöst:

Delphi-Quellcode:
keybd_event(Ord('C'),0,0,0);
Er sendet zwar die Taste "C" an Warcraft, und der Spell wird ausgewählt, aber das blöde ist, wenn ich dann erneut "Q" drücke um nochmal den Spell zu casten dann funktioniert es nicht.

Ich muss nachdem ich mit "Q" gecastet habe 2 mal das richtige "C" drücken um mit "Q" erneut casten zu können. Kann bittte einer helfen?


Das witzige ist ja wenn ich den gleichen Code nehme und ein Hotkey auf "C" lege, also den gleichen Quelltext bloß Hotkey auf "C" dann funktionierts einwandfrei :(

SirThornberry 4. Dez 2007 17:06

Re: Keybd_Event funktioniert nicht richtig...
 
du musst die Taste drücken UND loslassen. :)

napsterxx 4. Dez 2007 17:09

Re: Keybd_Event funktioniert nicht richtig...
 
So??

Delphi-Quellcode:
    keybd_event(Ord('C'),0,WM_Keydown,0);
    keybd_event(Ord('C'),0,WM_KeyUP,0);

DeddyH 4. Dez 2007 17:12

Re: Keybd_Event funktioniert nicht richtig...
 
Delphi-Quellcode:
keybd_event(Ord('C'),0,0,0);
keybd_event(Ord('C'),0,KEYEVENTF_KEYUP,0);
So!

napsterxx 4. Dez 2007 17:15

Re: Keybd_Event funktioniert nicht richtig...
 
Merci

Kann gecloset werden


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:21 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz