C++ GetAsyncKeyState()

Hallo,

ich programmiere im Moment eine C++-Anwendung und möchte überprüfen ob eine bestimmte Kombinationen von Zeichen z.B. "SHIFT" + "-" eingegeben wurde.
Wie kann ich das machen?

Ich habe hier im Forum folgenden Code gefunden:

keybd_event(VK_SHIFT,0,0,0);
keybd_event(0xBD,0,0,0);
keybd_event(0xBD,0,KEYEVENTF_KEYUP,0);
keybd_event(VK_SHIFT,0,KEYEVENTF_KEYUP,0);

nur weiß ich nicht wie ich es anwenden soll. Das ist doch nur eine Simulation von dem Zeichen "_" oder nicht?

Bitte um Hilfe.

MfG
 
Ohne den Kontext der Anwendung zu kennen: k.A ob sich die Funktion GetKeyboardState eignet ;)
http://msdn.microsoft.com/en-us/library/ms646299(v=VS.85).aspx

Also ich möchte ja nur wissen, welche Tasten gedrückt wurden.
Mit GetAsyncKeyState() funktioniert es mit jeder Taste auf der Tastatur, nur ich weiß nicht, wie ich die Tastenkombinationen abfangen kann, wie z.B. CTRL + C, SHIFT + -.
Was anderes soll die Anwendung nicht machen.

Hoffe mir kann jemand helfen.

Gruß
 
Also ich möchte ja nur wissen, welche Tasten gedrückt wurden.
Mit GetAsyncKeyState() funktioniert es mit jeder Taste auf der Tastatur, nur ich weiß nicht, wie ich die Tastenkombinationen abfangen kann, wie z.B. CTRL + C, SHIFT + -.
Was anderes soll die Anwendung nicht machen.

Hoffe mir kann jemand helfen.


CDW liefert dir eine lösung auf dem silbertablett, google spuckt zu dem thema seitenweise ergebnisse aus ... also ich bezweifle dass dir noch zu helfen ist ...:rolleyes:
 
Also ich möchte ja nur wissen, welche Tasten gedrückt wurden.
...
Was anderes soll die Anwendung nicht machen.
Warum ich den Kontext erwähnt habe:
In einer normalen Anwendung sollte man über Msg-Loop des Fensters gehen (WM_KEYUP/WM_KEYDOWN)[0] oder von xrayn erwähnten Hotkey-"Registratoren" nutzen.

Bei einem Spiel oder bestimmten Anwendungen, die "direkt" reagieren sollen, ist dies aber zu "lahm" und daher geht man da eher über GetKeyboardState (zumindest meiner Erfahrung nach besser zu handhaben als GetAsyncKeyState - den man übrigens auch "schachteln" kann und so Tastenkombis abfangen ;) ). GetKeyboardState liefert Dir die Tastatur quasi als Array zurück und man kann einfach schauen, welche Tasten betätigt wurden.

PS: keybd_event generiert eigentlich nur einen Tastendruck, in dem es eine WM_KEYDOWN/WM_KEYUP Nachricht sendet.

[0]: sofern man direkt mit der WinAPI programmiert ;)
 
Zurück
Oben