使用時にコンソールが閉じられたことを検出したときに関数を起動するにはどうすればよいEnvironment.Exit(0)
ですか?
10261 次
1 に答える
6
これを行う最も簡単な方法は、おそらく、アプリケーションの親プロセスが終了したときに発生するAppDomain.ProcessExit
イベントを処理することです。
例えば:
Module MyApp
Sub Main()
' Attach the event handler method
AddHandler AppDomain.CurrentDomain.ProcessExit, AddressOf MyApp_ProcessExit
' Do something
' ...
Environment.Exit(0)
End Sub
Private Sub MyApp_ProcessExit(sender As Object, e As EventArgs)
Console.WriteLine("App Is Exiting...")
End Sub
End Module
ただし、電話をかけるEnvironment.Exit
ことは、元の問題に対する最善の解決策ではない場合があります。一般に、このメソッドを使用する必要があるのは、他のフォアグラウンド スレッドが実行されている可能性がある場合のみです。その場合、プロセス全体を強制終了する厳格な手段に頼ることなく、他のスレッドを正常に終了する方法を調査する価値があります。
Environment.Exit
、やや心地よい響きの名前にもかかわらず、かなり残忍な措置です。Windows タスク マネージャーで [タスクの終了] をクリックするほど悪くはありません (そうすると、イベントが発生しないことProcessExit
に注意してください。つまり、上記の提案は機能しません)。どちらかが欲しい。
于 2012-04-11T03:35:28.233 に答える