原网址: http://q.cnblogs.com/q/9762/
C#写的程序,在关机时不能退出,导致系统不能关机。
0
C#写的程序,在关机时不能退出,导致系统不能关机。我的环境是 win Xp, .NET Framework 2.0。
问题补充: 尝试使用: [STAThread] static void Main() { ................. SystemEvents.SessionEnding += delegate { Application.Exit(); }; .............. } 好像关机时不能捕获关机事件事件 找到解决方法了:我自己写的这个程序是:有个托盘,有个主窗体当系统关机时, windows向每个应用程序发出WM_QUERYENDSESSION消息。使用e.CloseReason可以获取该消息触发主窗体的 FormClosing事件而我在该事件的订阅方法了写了: e.Cancel = true; this.Hide(); 改成一下代码,搞定: if ((e.CloseReason == CloseReason.ApplicationExitCall) || (e.CloseReason == CloseReason.WindowsShutDown)) { e.Cancel = false; Application.Exit(); } else { e.Cancel = true; this.Hide(); }