7

我如何知道我的 C# 控制台应用程序何时停止?有什么活动或类似的吗?

谢谢!

4

2 回答 2

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");
        }
    }
于 2012-07-02T09:57:02.353 回答
5

处理事件System.Console.CancelKeyPress可能会对您有所帮助。

MSDN 解释了如何处理此事件以及处理此事件时需要注意的其他事项,摘录:

此事件与 System.ConsoleCancelEventHandler 和 System.ConsoleCancelEventArgs 结合使用。CancelKeyPress 事件使控制台应用程序能够拦截 CTRL+C 信号,以便应用程序可以决定是继续执行还是终止。

使用此事件显式控制您的应用程序如何响应 CTRL+C 信号。如果您的应用程序有简单的要求,您可以使用 TreatControlCAsInput 属性而不是此事件。

此事件的事件处理程序在线程池线程上执行。

于 2012-07-02T10:03:22.630 回答