私は主にバックグラウンドで動作するアプリケーションを持っています。フォアグラウンドアプリからフォーカスを奪うために、特定のシステムイベントを処理する必要があります。しかし、UIElement.Focus()は、WPFアプリケーション内でのみフォーカスを設定するようです。つまり、WPFアプリケーションが既にフォーカスを持っている場合、Focus()はフォーカスを適切なコントロールに設定します。しかし、私は別のアプリからフォーカスを盗んで、それを私のアプリに置く必要があります。これどうやってするの?私のアプリケーションにシステムフォーカスを設定する
私はではありません。システムモーダルダイアログが必要です。つまり、ウィンドウがフォーカスを奪った後、ユーザーはすぐに別のアプリケーションに切り替えることができます私のアプリのウィンドウを却下しないでください。
システムは、システムのフォーカスを奪う必要があるときに、すでに復元、最小化、または「トレイに最小化」されている可能性があります。だから、それが最小化され、ウィンドウを復元している間にフォーカスを盗むことは容認できません。
皮肉なことの年後、私は思ったんだけど。私はこれを行うアプリが嫌いです。 –