1
A
回答
4
首先,您需要註冊一個具有RegisterHotKey函數的「系統範圍」熱鍵。即使您的應用程序被最小化,沒有關注或隱藏,它也可以工作。
RegisterHotKey(hWnd, KEY_ID, MOD_CONTROL | MOD_SHIFT, VK_UP);
// check for errors, the function will fail if the hot key is already registered
hWnd
是將接收WM_HOTKEY消息的窗口的句柄。 KEY_ID
是熱鍵的標識符。同時爲Ctrl + Shift的MOD_CONTROL | MOD_SHIFT
。用於向上箭頭鍵的VK_UP
。
其次,您需要在窗口過程中處理WM_HOTKEY消息。
LRESULT CALLBACK WndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) {
switch (uMsg) {
...
WM_HOTKEY:
// handle the hot key here
...
}
}
如果您的應用程序沒有一個窗口,並hWnd
爲NULL,則需要辦理WM_HOTKEY在你的消息循環。
MSG msg = {0};
while (GetMessage(&msg, NULL, 0, 0) != 0)
{
if (msg.message == WM_HOTKEY) {
// handle the hot key here
}
}
+0
偉大的答案,甚至更好,你包括需要檢查錯誤。 +1 – 2013-03-10 11:22:31
相關問題
- 1. 當FileChooser處於活動狀態時防止窗口聚焦
- 2. 使不活動/未聚焦的窗口自動化
- 3. 禁用「要求」,當點擊菜單欄時雙擊未聚焦的窗口
- 4. 聚焦滾動窗口
- 5. 如何在窗口未聚焦時抓住「按鍵事件」?
- 6. Tkinter Toplevel:當未聚焦時銷燬窗口
- 7. 當主窗口最小化時,WPF聚焦可見窗口
- 8. Javascript滾動條處理窗口焦點
- 9. 當iframe聚焦時,保持父窗口不滾動
- 10. 聚焦/未聚焦窗口的透明度
- 11. 如何檢測窗口未聚焦?
- 12. 當窗口/選項卡未聚焦時停止所有Flash動畫
- 13. 當前聚焦窗口上的Tkinter按鍵
- 14. 如何模擬按鍵到當前聚焦的窗口?
- 15. 當子窗口被聚焦(同一wpf窗口)時,我的inputcommand鍵綁定到主窗口不起作用?
- 16. 通知窗口 - 防止窗口聚焦
- 17. 當沒有應用程序窗口處於活動/聚焦狀態時檢測到
- 18. 確定窗口是否聚焦/活動/前景
- 19. 在C中檢測活動/聚焦窗口#
- 20. 如何獲得OSX中的活動(聚焦)窗口?
- 21. 強制窗口前/聚焦?
- 22. 窗口已經聚焦
- 23. 使用renderscript處理android活動窗口?
- 24. TideSDK調整焦點/未聚焦事件的UI窗口
- 25. 在Python中,當窗口處於「聚焦」狀態時,讀取HID輸入
- 26. 只有當窗口(un?)聚焦時纔會更新Java繪畫
- 27. 得到處理當前活動窗口中的OpenCV
- 28. Windows窗體窗口總是聚焦?
- 29. RepositoryItemComboBox疤項當未聚焦
- 30. 當點擊Angular2-toaster彈出窗口時如何處理事件
使用RegisterHotKey()。 – 2013-03-10 01:23:59
如果我想在另一個應用程序中使用Ctrl + Shift + Up怎麼辦?在Word中選擇以前的paragaraph。 – Deanna 2013-03-11 12:15:00