Изначально речь шла о передаче состояния BREAK протоколом RS-232, но если говорить о хуках - с клавишей [Pause/Break] действительно не всё просто, но всё решаемо.
Убедиться легко.
1. Открываем архив GlobalKeyboardHook_Test.zip, копируем файл GlobalHook_Con.exe в файл GHC.exe в корне диска С:
2. Запускаем командную строку, переходим в корень диска C:, запускаем GHC.exe, нажимаем по очереди пробел и клавишу <Pause/Break> и наблюдаем глюки.
3. Открываем блокнот, запускаем командную строку, переходим в корень диска C:, запускаем GHC.exe, переходим в окно блокнота, нажимаем там по очереди пробел и клавишу <Pause/Break> и видим в окне командной строки, что клавиша <Pause/Break> обрабатывается без глюков.
Вывод - клавиша <Pause/Break> плохо обрабатывается хуком, только когда принимающее нажатия активное окно как-то особенно на неё реагирует. Сам механизм хука не виноват и если при приёме кода <Pause/Break> не производить дальнейшую обработку нажатия средствами Windows - проблем не будет.





Ответить с цитированием