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