Windows 8 Pro アプリケーションを作成しています。アプリケーションがフォーカスを失った (または「最小化」された) 直後に「サスペンド」状態になるようにしたいと考えています。
これは、ユーザーがアプリケーションを非表示にしようとしたときに、アプリケーションを再起動/再フォーカスしたいキオスク アプリケーション (実際にはストアにはありません) 用です。これまでのところ、アプリが強制終了された後 (つまり、プロセスが Process.GetProcessByName() に存在しない場合) にのみ、ネイティブ C# アプリを使用して「再フォーカス」できます。これが、アプリケーションを強制終了したい理由です。ユーザーはアプリケーションを最小化するべきではないため、アプリケーションを強制終了することは、アプリケーションが負担できるコストです。
最小化されたときにアプリケーションを終了させるにはどうすればよいですか? タイムアウト期間を設定したり、アプリケーション自体がフォーカスを失ったときに App.xaml.cs で一般的なイベントを傍受したりできるかどうか疑問に思っています (その後、おそらく App.Exit() を呼び出してプロセスを終了します)。Application.Suspending イベントを試しましたが、起動に時間がかかりすぎます。アプリケーションが ALT+F4 で強制終了された後、起動するのに約 10 秒かかります。