展示用の小さなキオスク アプリケーションを作成しています。私は .Net & C# で開発し、コンピューターは Windows 7 を実行します。
さて、プロセスを強制終了し、ハングした場合に再起動するある種のウォッチドッグをセットアップする最も簡単な方法は何ですか. または、例外が発生した場合、エラー ウィンドウを閉じてアプリケーションを再起動しますか?
ありがとう!
キオスク アプリは、サービスではなく、通常の UI アプリケーションとして開始されると想定しています。
この場合、実際に起動される小さなシェル アプリを作成し、起動時にキオスク アプリを別のプロセスとして起動し、ループに入ってアプリの正常性をチェックします。数秒ごとにキオスク アプリを起動してから、スリープ状態になります (thread.idle、doevents など、必要なものは何でも)。
開始されたプロセスへの参照を保持し、プロセスが終了したかどうかを確認することで、キオスク アプリの正常性を確認できます。
また、キオスクにバックグラウンド ワーカー スレッドを介して小さなファイルを定期的に更新させるといった簡単なこともできます。監視アプリはこのファイルの更新時刻を確認し、特定の期間更新されていない場合は、キオスク アプリがロックされてプロセスを強制終了したと見なすことができます。次に、監視アプリのループを通過します。
最も簡単な方法は、クラッシュやハングしないようにキオスク アプリケーションを作成することです。監視しているアプリケーションを防弾にするために時間を費やすことができるのに、なぜそれ自体に問題があるかもしれないウォッチドッグを書くのに時間を費やすのでしょうか?
Windows にはウォッチドッグがあります: http://www.codeproject.com/Articles/11616/Watch-Dog