ユーザーが alt タブでウィンドウの外に出たときを検出しようとしています。いくつかのメッセージを試しました (WM_ACTIVATE、WM_KILLFOCUS、WM_ACTIVATEAPP、WM_NCACTIVATE、WM_CANCELMODE、および SC_MINIMIZE をチェックする WM_SYSCOMMAND)。しかし、同じ問題がまだ発生します。次のことが起こります。
- アプリケーションにフォーカスがあり、alt を押しながら tab を押します。
- 次のウィンドウが表示されます。
- Alt キーを押したままにしてからもう一度 Tab キーを押しますが、今回はタブのみが認識されるため、通常の動作のように再度 Alt タブキーを押すのではなく、新しいウィンドウでタブキーを押すことになります。
私は低レベルのキーボード フックを使用しており、それをアンインストールすると、上記の代替タブの動作は完全に機能します。基本的に、ユーザーがこの方法でウィンドウを離れたらすぐにキーボード フックをアンインストールしたいと考えています。別のウィンドウで alt タブを離すとすぐに、探しているいくつかのメッセージがウィンドウに表示され、フックがアンインストールされます。ただし、この方法でキーを保持すると、フックがインストールされている間は期待どおりに機能しません。