C#控制台应用程序:防止打印Control-C?

Ala*_*lan 5 c# console-application control-characters

我有一个控制台应用程序,我想要捕获Control-C并正常关闭.

我有以下代码:

Console.CancelKeyPress += new ConsoleCancelEventHandler((o, e) =>
{
   Logger.Log("Control+C hit. Shutting down.");
   resetEvent.Set();
});
Run Code Online (Sandbox Code Playgroud)

输出窗口显示:

6/16/2010 3:24:34 PM:Control + C命中.关机
^ C

有没有办法阻止control-c字符^C出现?这不是一个巨大的问题,但由于某种原因,生病就可以了,因为我的肛门那样被固定.

Joã*_*elo 3

作为一个控制台应用程序,我将用它Environment.Exit来表示应用程序正在退出,这样就可以阻止^C打印。

您甚至可以提供特定的错误代码来表示用户按下了CTRL+C

static void Console_CancelKeyPress(object sender, ConsoleCancelEventArgs e)
{
    Console.WriteLine("Control+C hit. Shutting down."); 

    Environment.Exit(-1);
}
Run Code Online (Sandbox Code Playgroud)