【发布时间】:2012-02-05 16:54:55
【问题描述】:
有没有办法注意到用RegisterHotKey注册的热键按钮的释放?
我每次按下热键时都会收到WM_HOTKEY 消息,但我需要知道该键何时释放
【问题讨论】:
标签: c++ winapi hotkeys registerhotkey
有没有办法注意到用RegisterHotKey注册的热键按钮的释放?
我每次按下热键时都会收到WM_HOTKEY 消息,但我需要知道该键何时释放
【问题讨论】:
标签: c++ winapi hotkeys registerhotkey
没有针对该特定操作的特定通知。您必须编写一个通过 SetWindowsHookEx() 实现全局键盘挂钩的 DLL,然后您将收到单独的按键向上/向下通知,并可以根据需要将它们与您的 WM_HOTKEY 通知匹配。
【讨论】:
使用RegisterHotkey 来检测密钥是否关闭,然后使用GetAsyncKeyState 轮询直到密钥不再关闭。这避免了SetWindowsHookEx 的复杂性,并且轮询通常是可以接受的,因为它仅在按住热键时进行。
【讨论】: