すべてのキーが押されないようにする次のメソッドを作成しました。
private IntPtr HookHandler(int nCode, IntPtr wParam, ref KBDLLHOOKSTRUCT lParam)
{
if (nCode >= 0)
{
...
//Return a nonzero value to prevent the system from passing the message to the
//rest of the hook chain or the target window procedure.
return (IntPtr)1;
}
return NativeMethods.CallNextHookEx(_hookID, nCode, wParam, ref lParam);
}
ただし、上記のコードを実行すると、キーボードの calc キーやメール キーなどのキーが許可されます。
私はデバッグし、コードはreturn (IntPtr)1;
行に到達します(そして、どのキーが押されているかを正しく示します)が、それまでに、計算ウィンドウ(またはその他)はすでに開いています。1を返しても遅い。
ここで何か違うことができますか?