主にバックグラウンドで動作するアプリケーションがあります。アプリがフォアグラウンド アプリからフォーカスを奪うように処理する特定のシステム イベントが必要です。しかし、 UIElement.Focus() は WPF アプリ内でのみフォーカスを設定しているようです。つまり、WPF アプリ全体に既にフォーカスがある場合、Focus() はフォーカスを適切なコントロールに設定します。しかし、別のアプリからフォーカスを盗んで自分のアプリに置く必要があります。これどうやってするの?
システム モーダル ダイアログは必要ありません。つまり、ウィンドウがフォーカスを奪った後、ユーザーはアプリのウィンドウを閉じることなく、すぐに別のアプリに切り替えることができるはずです。
システム フォーカスを盗む必要がある場合、アプリは既に復元、最小化、または "トレイに最小化" 状態になっている可能性があります。したがって、ウィンドウが最小化されていると仮定して、ウィンドウの復元中にフォーカスを盗むことは受け入れられません。