2

低レベルのキーボード フック (WH_KEYBOARD_LL) を使用して、Alt-Tab などの特定の入力を無効にしています。メッセージ ポンプを使用してスレッドにフックを作成し、通知を適切に処理できるようにします。

フックのコールバック関数は、フックを作成したウィンドウ (つまり、メイン ウィンドウ) にフォーカスしていないときはいつでもキーボード イベントを処理できますが、そのウィンドウをアクティブにするとすぐに、フックを非アクティブにするまでフックにイベントが表示されません。ウィンドウを再度開き、代わりに入力がウィンドウの WindowProc に伝達されます。

ここで何が起こっているのか、誰にも手がかりがありますか?

更新:したがって、この動作は、同じプロセスで生の入力も登録することによって引き起こされることがわかりました。どうやら、生の入力を使用すると、プロセスのウィンドウがフォーカスされるたびに、低レベルのキーボード フックが無効になります。これを回避する理由と方法を知っている人はいますか?

4

0 に答える 0