Как проверить, работает ли хук SetWindowsHookEx? (Обход ошибки Win7) - PullRequest
4 голосов
/ 20 марта 2011

Я пишу программу на MS VisualC ++. Я установил клавиатуру на hHook = SetWindowsHookEx(13,MyProc,GetModuleHandle(NULL),0);.

В Win7 есть ошибка, которую я могу воспроизвести, которая отключает мой хук. Когда эта ошибка возникает, hHook по-прежнему TRUE, но UnhookWindowsHookEx(hHook) возвращает FALSE.

Однако я хочу перезапускать ловушку только тогда, когда она отключена, поэтому я не могу использовать UnhookWindowsHookEx.

Как я могу проверить, все ли работает крючок? Что-то вроде GetHookStatus(hHook).

Я обнаружил, что эта ошибка в Win7 вызвана некоторым тайм-аутом или «сборкой мусора», но мне проще просто проверить состояние хука и перезапустить, если необходимо. Я не профессионал, просто программирую как хобби, в основном для личных нужд.

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...