相关疑难解决方法(0)

捕获控制台出口C#

我有一个包含很多线程的控制台应用程序.有些线程可以监视某些条件,如果它们是真的则终止程序.这种终止可以随时发生.

我需要一个可以在程序关闭时触发的事件,以便我可以清理所有其他线程并正确关闭所有文件句柄和连接.我不确定.NET框架中是否已经内置了一个,所以我在编写自己的框架之前就已经问过了.

我想知道是否有一个事件:

MyConsoleProgram.OnExit += CleanupBeforeExit;
Run Code Online (Sandbox Code Playgroud)

.net c# console events exit

88
推荐指数
4
解决办法
8万
查看次数

未引发 ApplicationExit 事件

当程序被迫退出时,我试图保存一些数据。

例如,如果 PC 关闭或被任务管理器关闭。

它不是控制台或 Winforms 应用程序。它只是一个没有用户界面的后台进程。

namespace Test
{
    class Test
    {
        static void Main()
        {
            Application.ApplicationExit += new EventHandler(OnProcessExit);
            //some stuff to do here
        }

        static void OnProcessExit(object sender, EventArgs e)
        {
            //saving all the important data
            Console.WriteLine("Im out of here!");
            Environment.Exit(0);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我尝试过的。我没有遇到任何错误,但我的处理程序没有被调用。

c# windows msdn

1
推荐指数
1
解决办法
1394
查看次数

标签 统计

c# ×2

.net ×1

console ×1

events ×1

exit ×1

msdn ×1

windows ×1