Systemweiten Hotkey definieren?
-
Könnte jemand ein einfaches Beispielprogramm zeigen, das einen Hotkey erstellt und auf dessen Druck reagiert? Wäre echt nett.

-
Einer der ganz viele Beispiele kennt ist dieser google.
-
-
Die ganz billige Lösung ist:
if (GetAsyncKeyState('K')) {blablabla}
-
Bei Google habe ich tatsächlich keinen Beispielcode gefunden...
Eure Vorschläge funktionieren jeweils nicht ganz, für die erste Funktion hab ich einfach keine Parameter (HWND??) und die andere kann wohl nur eine Taste überprüfen.
Einige Nachforschungen haben mich noch auf GetKeyboardState() gebracht.
Kann da jemand nen Beispielcode zeigen?Kenne den Datentyp PBYTE nicht und die MSDN verwirrt mich auch total.
PBYTE keystates[256]; GetKeyboardState(keystates); if(keystates[VK_CONTROL] == 1 && keystates[VK_SNAPSHOT] == 1)
-
Handle to the window that will receive WM_HOTKEY messages generated by the hot key. If this parameter is NULL, WM_HOTKEY messages are posted to the message queue of the calling thread and must be processed in the message loop.
Wenn du also eine fensterlose Anwendung hast, gibst du NULL an und fragst die Nachricht direkt in deiner Message-Loop (oder hast du sowas auch nicht?!) ab...
-
Achso, danke.

Aber wie erhalte ich die Nachricht, wenn ein Hotkey gedrückt wurde? Wie kann ich die Abfragen?
-
asdfsas schrieb:
Achso, danke.

Aber wie erhalte ich die Nachricht, wenn ein Hotkey gedrückt wurde? Wie kann ich die Abfragen?
OK, mittlerweile hab ich rausgefunden, dass ich keinen Message-Loop habe.
Wie gesagt, hab von Windows-Apps keine Ahung und bin da erstmal wie an ne Konsolen-App rangegangen...Geht es nicht doch irgendwie mit GetKeyboardState()?
-
PBYTE ist ein Pointer auf ein BYTE-Array (so steht es ja auch in der MSDN-Library) - also sollte es so irgendwie aussehen:
BYTE keystates[256]; GetKeyboardState(keystates);