void __fastcall TForm1::FormCreate(TObject *Sender) { if(0 == RegisterHotKey(Handle,0x0000,MOD_SHIFT | MOD_ALT,VK_SPACE)){ ShowMessage("失敗"); } } void __fastcall TForm1::FormDestroy(TObject *Sender) { UnregisterHotKey(Handle,0x0000); } void __fastcall TForm1::WMHotKey(TMessage & Msg) { if(MAKELPARAM(MOD_SHIFT | MOD_ALT,VK_SPACE) == Msg.LParam){ ShowMessage("キーが押されました"); } }
Shift+Alt+SPACE
をホットキーに指定する。
処理の流れとしてはRegisterHotKey
で登録を行い、WMHotKey
でWM_HOTKEY
メッセージを処理し、UnregisterHotKey
で登録を解除する。