Hallo zusammen,
heute wurde uns bei der MSDN Hotline unter anderem folgende Frage gestellt:
Ich entwickle eine native Anwendung und habe Probleme mit der Methode keybd_event(). WM_KEYUP funktioniert nicht wie erwartet.
Unsere Antwort darauf war:
Diese Methode keybd_event() sollte nicht mehr verwendet werden. Stattdessen kann man SendInput() [1] benutzen. Diese arbeitet ein wenig anders und benötigt die Struktur (struct) „INPUT“ [2].
Das Gegenstück für .NET-Entwickler ist übrigens SendKeys [3]. Leider gibt es keine verwaltete Methode, mit der man Tastatureingaben an andere Fenster schicken kann, deshalb kommt man in so einem Fall um den nativen API-Aufruf an FindWindow oder SetForegroundWindow nicht herum.
[1] http://msdn.microsoft.com/de-de/library/ms646310.aspx
[2] http://msdn.microsoft.com/de-de/library/ms646270.aspx
[3] http://msdn.microsoft.com/de-de/library/system.windows.forms.sendkeys.aspx
Wir hoffen, vielen Besuchern der MSDN Foren durch das Posten dieses Problems und einer möglichen Lösung weiterhelfen zu können.
Grüße,
Jonathan Best
MSDN Hotline für MSDN Online Deutschland
Disclaimer:
Bitte haben Sie Verständnis dafür, dass wir hier auf Rückfragen gar nicht oder nur sehr zeitverzögert antworten können.
Bitte nutzen Sie für Rückfragen oder neue Fragen den telefonischen Weg über die MSDN Hotline: http://www.msdn-online.de/Hotline

Es gelten für die MSDN Hotline und dieses Posting diese Nutzungsbedingungen, Hinweise zu Markenzeichen sowie die allgemein gültigen Informationen zur Datensicherheit sowie die gesonderten Nutzungsbedingungen für die MSDN Hotline.