私のWPFアプリケーション(システムトレイを介して実行されるだけ)からwin32 APIを掘り下げようとしています。
システム トレイ アイコンをクリックすると、ユーザーにコンテキスト メニューが表示され、最上位のウィンドウにフォーカスが移ります。
そのウィンドウ(フォーカスを失ったばかりのウィンドウ)へのハンドルを取得したいので、さまざまなアプローチを使用して試しました
GetForeGroundWindow()
GetTopWindow()
GetDesktopWindow()
しかし、果てしなく。私は現在、MainWindowHandles を取得し、すべてのウィンドウの z オーダーを確認するために、すべてのプロセスを反復処理することを検討しています。
しかし、もっと簡単で賢い方法があると思いました。古い Petzold の本からググったり思い出したりできないのは、ただ 1 つだけです。
もう 1 つの方法は、システム トレイ メニューがアクティブ化されたときにフォーカスを取得しないようにすることですか?
ありがとう!