低レベルのキーボードフックを使用して、キーボードの文字「a」を完全に無効にしようとしています。問題は、keyboardproc から 0 を返すとキーが無効にならず、1 を返すと無効になることです。CallNextHookEx を呼び出さずに keyboardproc から戻ると、メッセージがブロックされると思いました。0 を返すことと 1 を返すことに違いはありますか。
LRESULT CALLBACK LowLevelKeyboardProc(int code, WPARAM wParam, LPARAM lParam)
{
KBDLLHOOKSTRUCT* details = (KBDLLHOOKSTRUCT*) lParam;
if(code == HC_ACTION && wParam == WM_KEYDOWN)
{
if(details->vkCode == 0x41)
{
return 1;
}
}
return CallNextHookEx(g_hhkKeyboard, code, wParam, lParam);
}