Я пишу программу на MS VisualC ++. Я установил клавиатуру на hHook = SetWindowsHookEx(13,MyProc,GetModuleHandle(NULL),0);
.
В Win7 есть ошибка, которую я могу воспроизвести, которая отключает мой хук. Когда эта ошибка возникает, hHook
по-прежнему TRUE
, но UnhookWindowsHookEx(hHook)
возвращает FALSE
.
Однако я хочу перезапускать ловушку только тогда, когда она отключена, поэтому я не могу использовать UnhookWindowsHookEx
.
Как я могу проверить, все ли работает крючок? Что-то вроде GetHookStatus(hHook)
.
Я обнаружил, что эта ошибка в Win7 вызвана некоторым тайм-аутом или «сборкой мусора», но мне проще просто проверить состояние хука и перезапустить, если необходимо. Я не профессионал, просто программирую как хобби, в основном для личных нужд.
Спасибо.