Tastendruck an ein Fenster simulieren
-
Hallo Leute,
ich habe ein Problem.
Undzwar kann ich keine Tastendrücke an ein bestimmtes Fenster simulieren.
Es funktioniert auch nicht, es einfach an das normale Fenster zu senden:
Der Code wäre:SendMessage(hWnd,WM_KEYUP,0x31,1);
hWnd ist in dem Fall das Fenster vom programmierten Programm.
0x31 steht für die Taste 1.
Ich habe ein Input Text in meinem Programm, jedoch wird dort nicht die Zahl reingeschrieben, sprich es passiert garnichts.
Wenn ich es mit keybd_event mache, dann funktioniert es genau an der Stelle schon, jedoch mach ich das Programm spezifisch für das Spiel Euro Truck Simulator 2, um eine H-Schaltung mit dem Controller zu machen.
Mein sonstiger Code, nicht nur für dieses von mir programmierte Fenster wäre dann:HWND ets = GetForegroundWindow(); SendMessage(ets,WM_KEYUP,0x31,1);
Aber es funktioniert ja nicht mal das erste.
Ich hoffe ihr kennt eine Lösung dazu, MfG lcp9
-
Müßtest du nicht zuerst ein WM_KEYDOWN schicken?
-
Man kann nicht gesichert einen Tastendruck simulieren ohne SendInput zu verwenden.
SendInput sendet aber nicht "an" ein Fenster.
-
https://batchloaf.wordpress.com/2012/04/17/simulating-a-keystroke-in-win32-c-or-c-using-sendinput/
http://www.codeproject.com/Tips/506147/Easy-way-to-simulate-keyboard-press-and-release-ke
http://www.codeproject.com/Articles/6819/SendKeys-in-C