Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 检测控制台何时关闭?_C#_.net_Console - Fatal编程技术网

C# 检测控制台何时关闭?

C# 检测控制台何时关闭?,c#,.net,console,C#,.net,Console,我在谷歌上搜索并找到了控制台。CancelKeyPress很有用,但很多次我都是通过关闭窗口来关闭控制台的。使用右上角的X控制台。取消按键检测ctrl+c,如何通过单击X来检测关闭?尝试以下操作: class Program { static void Main( string[] args ) { AppDomain.CurrentDomain.ProcessExit += ProcessExitHandler ; } static void

我在谷歌上搜索并找到了
控制台。CancelKeyPress
很有用,但很多次我都是通过关闭窗口来关闭控制台的。使用右上角的X<代码>控制台。取消按键检测ctrl+c,如何通过单击X来检测关闭?

尝试以下操作:

class Program
{
    static void Main( string[] args )
    {
        AppDomain.CurrentDomain.ProcessExit += ProcessExitHandler ;
    }

    static void ProcessExitHandler( object sender , EventArgs e )
    {
        throw new NotImplementedException("You can't shut me down. I quit!" ) ;
    }
}
编辑如下:显然,这项技术和大多数其他技术在Windows7的控制台应用程序中已经过时。当窗口关闭时,控制台应用程序被强制终止,因此应用程序永远不会收到信号。太赫兹

解决方案似乎是(请参见上面的URL),使您的控制台应用程序成为一个windows应用程序,其中包含一个不可见的窗口,用于处理消息
WM_ENDSESSION
,该处理程序在关闭前有5秒的时间终止。

尝试以下操作:

class Program
{
    static void Main( string[] args )
    {
        AppDomain.CurrentDomain.ProcessExit += ProcessExitHandler ;
    }

    static void ProcessExitHandler( object sender , EventArgs e )
    {
        throw new NotImplementedException("You can't shut me down. I quit!" ) ;
    }
}
编辑如下:显然,这项技术和大多数其他技术在Windows7的控制台应用程序中已经过时。当窗口关闭时,控制台应用程序被强制终止,因此应用程序永远不会收到信号。太赫兹


解决方案似乎是(参见上面的URL)使您的控制台应用程序成为一个windows应用程序,其中包含一个不可见的窗口,用于处理消息
WM_ENDSESSION
,哪个处理程序将在关机前有5秒钟的时间终止。

有很多帮助。请参阅和他们链接到的其他问题。有很多帮助。请参阅和他们链接到的其他问题。@acidzombie24:显然,Windows 7和Vista坏了……呃……改进了。有关详细信息,请参见我编辑的答案。@zombie24:显然,Windows7和Vista已经崩溃了……呃……改进了。有关详细信息,请参阅我编辑的答案。