Mehrere HotKeys in einem Programm?!
-
Mit Hilfe des FAQ: http://www.c-plusplus.net/forum/viewtopic.php?t=39144 hab ich mir einen HotKey erstellt der auch wunderbar funktioniert.
Jedoch brauch ich für mein Programm mehrere HotKeys.Leider bin ich aus den FAQ nicht weiter schlau geworden. Also hab ich in die Hilfe geguckt und bin auf die Eigenschaft uVirtKey von WM_HOTKEY gestoßen. Mein Problem ist, dass ich nicht weiss wie ich auf diese zugreifen kann, um zwischen meinen HotKeys zu unterscheiden.
Hier mein Versuch der nicht klappt:TForm1 *Form1; HWND hwndWinamp = NULL; HWND ownhwnd = NULL; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner):TForm(Owner){} //--------------------------------------------------------------------------- void __fastcall TForm1::FormCreate(TObject *Sender) { RegisterHotKey(Handle, (UINT)"J2F-HotKey", 0, VK_DECIMAL); //Hotkey registrieren } //--------------------------------------------------------------------------- void __fastcall TForm1::FormDestroy(TObject *Sender) { UnregisterHotKey(Handle, (UINT)"J2F-HotKey"); //HotKey löschen GlobalDeleteAtom(0); //HotKey Identifier löschen } //--------------------------------------------------------------------------- void __fastcall TForm1::WMHotKey(TMessage &Msg) { TForm::Dispatch(&Msg); hwndWinamp = FindWindow("Winamp v1.x",NULL); unsigned int uVirtKey = (unsigned int) HIWORD(lParam); if(!(hwndWinamp==NULL)) { switch(uVirtKey) { case VK_DECIMAL: SendMessage(hwndWinamp, WM_COMMAND, 40194, 1); //jump 2 file break; } } }
Als Fehlermeldung erhalt ich "[C++ Error] Unit1.cpp(32): E2451 Undefined symbol 'lParam'".
Also meine Frage: Wie kann ich mehrere HotKeys in einem Programm unterscheiden.
Und schon vorher danke für die Hilfe. :p
-
Ungetestet:
[cpp]unsigned int uVirtKey = (unsigned int) HIWORD(msg.LParam);[/cpp]
-
Boah dankeschön!!
Hab mich Stunden damit rumgeplagt...
Ich hatte auch schon eine Version, die so aussah:[cpp]unsigned int uVirtKey = (unsigned int)HIWORD(Msg.lParam);[/cpp]
Naja wie heisst es... knapp daneben ist auch vorbei.