私は制御しないダイアログのキーボードフックを追加しました(クローズドソースを持つライブラリで独自のDialogProc関数を実行します)。私はキーストロークをキャプチャすることができますが、キーストロークは常にダイアログに送られます。これにより、エラービープ音や奇妙な動作が発生します。ダイアログへのキーストロークの抑制
フックをインストール:
hKeyHook=SetWindowsHookEx(WH_KEYBOARD, KeyHookProc, hInst, GetCurrentThreadId());
フック関数:
UnhookWindowsHookEx(hKeyHook);
に送信されてからキーストロークを停止する方法があります:
LRESULT CALLBACK KeyHookProc(int code, WPARAM wParam, LPARAM lParam)
{
if(!(lParam & 0x80000000))
{
if(wParam == VK_mykey)
{
// Do my stuff
return 0; // Don't continue the hook chain
}
}
// Continue with next hook
return CallNextHookEx(hKeyHook, code, wParam, lParam);
}
は、フックを解除ダイアログにフォーカスを持っているコントロールですか?
実際には私のスレッドですが、質問からは分かりません。 –