我用谷歌搜索并发现Console.CancelKeyPress
这是有用的,但很多时候我通过关闭窗口来关闭我的控制台。使用右上角的X. Console.CancelKeyPress
检测到ctrl + c,如何通过单击X来检测关闭?
答案 0 :(得分: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!" ) ;
}
}
编辑注意:显然,这种和大多数其他技术都在Windows 7中失去了WRT控制台应用程序。当窗口关闭时,控制台应用程序被强制终止,因此应用程序永远不会被发出信号。这是MS!
解决方案似乎是(参见上面的URL),使您的控制台应用程序成为一个Windows应用程序,其中包含一个处理消息WM_ENDSESSION
的不可见窗口,该处理程序在关闭之前将获得5秒终止。