我怎么知道我的C#控制台应用程序什么时候停止?是否有任何事件或类似情况?
谢谢!
答案 0 :(得分:25)
使用应用程序域的ProcessExit事件
class Program
{
static void Main(string[] args)
{
AppDomain.CurrentDomain.ProcessExit += new EventHandler(CurrentDomain_ProcessExit);
}
static void CurrentDomain_ProcessExit(object sender, EventArgs e)
{
Console.WriteLine("exit");
}
}
答案 1 :(得分:5)
处理事件System.Console.CancelKeyPress
可能会对您有所帮助。
MSDN explains它如何处理此事件以及处理此事件时需要处理的其他事项,摘录如下:
此事件与。一起使用 System.ConsoleCancelEventHandler和System.ConsoleCancelEventArgs。 CancelKeyPress事件使控制台应用程序能够拦截 CTRL + C信号,以便应用程序可以决定是否继续 执行或终止。
使用此事件可以明确控制应用程序的响应方式 CTRL + C信号。如果您的应用程序有简单的要求,那么 可以使用TreatControlCAsInput属性而不是此事件。
此事件的事件处理程序在线程池线程上执行。