2012-01-09 2 views
7

Есть ли способ заметить выпуск кнопки «горячая клавиша», зарегистрированной с помощью RegisterHotKey?Глобальный выпуск горячих клавиш (keyup)? (WIN32 API)

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

ответ

4

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

+0

Спасибо, человек решил эту проблему: D – Crackoder

2

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

+1

IMHO лучшее решение, если у вас есть только одна или несколько горячих клавиш – Njol

 Смежные вопросы

  • Нет связанных вопросов^_^