UnitFormMain.h
private: ATOM HotKeyStart, HotKeyEnd; void __fastcall WndProc(Messages::TMessage &Message);
UnitFormMain.cpp
void __fastcall TFormMain::FormCreate(TObject *Sender) { HotKeyStart = GlobalAddAtom("HotKeyStart"); HotKeyEnd = GlobalAddAtom("HotKeyEnd"); // Register HotKey RegisterHotKey(Handle, HotKeyStart, MOD_CONTROL, VK_F2); RegisterHotKey(Handle, HotKeyEnd, MOD_CONTROL, VK_F3); } //--------------------------------------------------------------------------- void __fastcall TFormMain::WndProc(Messages::TMessage &Message) { if (Message.Msg == WM_HOTKEY) { // LParamHi: VirtualKey // LParamLo: key-modifier if (Message.LParamHi == VK_F2) Start(); // 熱鍵 Start 處理 else if (Message.LParamHi == VK_F3) End(); // 熱鍵 End 處理 } TForm::WndProc(Message); } //--------------------------------------------------------------------------- void __fastcall TFormMain::FormDestroy(TObject *Sender) { // Unregister HotKey if(HotKeyStart) UnregisterHotKey(Handle, HotKeyStart); GlobalDeleteAtom(HotKeyStart); if(HotKeyEnd) UnregisterHotKey(Handle, HotKeyEnd); GlobalDeleteAtom(HotKeyEnd); }
Reference:
Google Search
如何在CB中定義系統熱鍵 C++ Builder / Windows SDK/API – CSDN社區 community.csdn.net