12/03/06 23:43:31.93
>>88
static void Main(string[] args)
{
ManualResetEvent cancel = new ManualResetEvent(false);
Console.CancelKeyPress += delegate(object sender, ConsoleCancelEventArgs eventArgs)
{
Console.WriteLine("^C");
cancel.Set();
if (eventArgs.SpecialKey != ConsoleSpecialKey.ControlBreak)
eventArgs.Cancel = true;
};
Console.WriteLine("Waiting; press Ctrl+C to quit");
// .NET4.0だと死ぬ
// .NET3.5だと問題なし
cancel.WaitOne();
Console.WriteLine("Stopped");
}