Console.CancelKeyPress
私はググってどれが便利かを見つけましたが、ほとんどの場合、ウィンドウを閉じてコンソールを閉じます。右上隅の X を使用します。Console.CancelKeyPress
は ctrl+c を検出しますが、X をクリックして閉じることを検出するにはどうすればよいですか?
user34537
質問する
6385 次
1 に答える
6
これを試して:
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コンソールアプリは廃止されました。ウィンドウを閉じるとコンソールアプリが強制的に終了するため、アプリに信号が送信されることはありません。Thx MS!
解決策は(上記のURLを参照)、コンソールアプリをメッセージを処理する非表示のウィンドウを備えたWindowsアプリにすることであるようですWM_ENDSESSION
。このハンドラーは、シャットダウンされる前に5秒で終了します。
于 2012-08-24T23:46:22.643 に答える