2017-03-05 13 views
0

どのアプリケーションが終了したかを確認したいと思います。アプリケーションがXまたはシステムエラーまたはvb.netの何かによって正しく閉じられたかどうかを確認する方法はありますか?あなたは3つのレベルでこれを行う必要があります終了かシステムエラーかによってアプリケーションが終了したかどうかを確認してください。

+1

どのように閉鎖されたかチェックしますか?アプリケーション内? – Whencesoever

+0

Windowsフォームアプリケーションを想定すると、 'FormClosingEventArgs.CloseReason'と' FormClosedEventArgs.CloseReason'プロパティには、フォームがクローズ/クローズされる可能性のある理由の列挙が含まれています。これを 'FormClosing'または' FormClosed'イベントハンドラで問い合わせることができます。 https://msdn.microsoft.com/en-us/library/system.windows.forms.formclosingeventargs.closereason(v=vs.110).aspx – pinkfloydx33

+0

AppDomain.CurrentDomain.UnhandledExceptionのイベントハンドラを書くことは決して実際にはオプションではありませんあなたのプログラムがクラッシュした理由をユーザーに伝える必要があります。また、特別なメリットが得られます。プログラムがいつ異常終了するかは、いつでもわかります。 –

答えて

2

:VB.NET(あるあなたのコード)によって引き起こされた近くのイベントについて

  1. は、アプリケーションのシャットダウンを処理するための中心的な場所を導入すべきです。そこで、ディスクファイルやregエントリなどのフラグを設定して、アプリケーションがコードで閉じられたことを知らせることができます。
  2. 例外として、アプリケーションレベルの未処理例外ハンドラを導入して、フラグを再設定することができます。処理される例外の場合、キャッチブロックには同様のポリシーを適用する必要があります。 閉じるボタンまたはAltキー + F4もののため
  3. 、あなたのメインフォームの扱うことができます(またはWindow年代を、あなたが使っているどのプラットフォームがわからない)Closingイベントとその中のファイルフラグをマーク。このイベントは、あなたに役立つかもしれない近い理由についての追加情報を提供します。
関連する問題