Глобальный выпуск горячих клавиш (keyup)? (WIN32 API) - PullRequest
8 голосов
/ 09 января 2012

Можно ли как-то заметить отпуск кнопки горячей клавиши, зарегистрированной с RegisterHotKey?

Я получаю сообщение WM_HOTKEY каждый раз, когда нажимаю горячую клавишу, но мне нужно знать, когда клавиша была отпущена

Ответы [ 2 ]

5 голосов
/ 09 января 2012

Нет конкретного уведомления для этого конкретного действия. Вам нужно будет написать DLL, которая реализует глобальный хук клавиатуры через SetWindowsHookEx(), затем вы получите индивидуальные уведомления о нажатии клавиш вверх / вниз и сможете сопоставить их с вашими WM_HOTKEY уведомлениями по мере необходимости.

4 голосов
/ 19 декабря 2016

Используйте RegisterHotkey, чтобы обнаружить нажатие клавиши, затем используйте опрос с GetAsyncKeyState, пока клавиша не перестанет быть нажатой.Это позволяет избежать сложности SetWindowsHookEx, и опрос, как правило, приемлем, поскольку он выполняется только при удержании горячей клавиши.

...