Global hotkey release (keyup)? (WIN32 API)

2019-02-16 23:54发布

Is there a way to notice the release of a hot-key button registered with RegisterHotKey?

I get a WM_HOTKEY message every time I press the hot-key but I need to know when the key was released

2条回答
在下西门庆
2楼-- · 2019-02-17 00:10

There is no specific notification for that specific action. You will have to write a DLL that implements a global keyboard hook via SetWindowsHookEx(), then you will receive individual keypress up/down notifications and can match them up to your WM_HOTKEY notifications as needed.

查看更多
淡お忘
3楼-- · 2019-02-17 00:16

Use RegisterHotkey to detect the key going down, then use polling with GetAsyncKeyState until the key is no longer down. This avoids the complexity of SetWindowsHookEx and the polling is generally acceptable since it is only done while the hotkey is being held down.

查看更多
登录 后发表回答