Хук клавиатуры Windows успешно установлен, но не вызывается

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

HHOOK hookRes = SetWindowsHookEx( WH_KEYBOARD, &KeyStrokeHook, NULL, GetCurrentThreadId() );

И функция обратного вызова:

LRESULT CALLBACK KeyStrokeHook( _In_  int code, _In_  WPARAM wParam, _In_  LPARAM lParam )
{
if( code < 0 )
return CallNextHookEx( NULL, code, wParam, lParam );

if( lParam & 0x80000000 == 0 ) // If key pressed, not released
{
keyStroke = wParam;

SetEvent( keyEvent );
}
return CallNextHookEx( NULL, code, wParam, lParam );
}

hookRes имеет действительный хук, но функция хука никогда не вызывается.

Можно ли запустить ловушку, если поток, который устанавливает ловушку, в настоящее время заблокирован на мьютексе?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]