Ste*_*hRT 2 .net vb.net exit-code console-application exit
如何在使用时检测到控制台关闭时触发功能Environment.Exit(0)?
执行此操作的最简单方法可能是处理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
Run Code Online (Sandbox Code Playgroud)
但是,呼叫Environment.Exit可能不是解决原始问题的最佳方法.通常,只有在可能有其他前台线程运行时才需要使用此方法.在这种情况下,值得调查优雅地终止其他线程的方法,而不采用会破坏整个过程的严厉措施.
Environment.Exit尽管名字听起来有点令人愉悦,但这是一个非常残酷的措施.这是不是很单击Windows任务管理器"结束任务"(请注意,如果你做的那样糟糕的是,该ProcessExit事件将不会被提高,这意味着,上述建议将无法正常工作),但它可能不是解决你真的也想要.