转载 C#写的程序,在关机时不能退出,导致系统不能关机。

原网址:  http://q.cnblogs.com/q/9762/

 

C#写的程序,在关机时不能退出,导致系统不能关机。

0
悬赏园豆:10 [已关闭问题] 问题为何被关闭 浏览: 981次

C#写的程序,在关机时不能退出,导致系统不能关机。我的环境是 win Xp, .NET Framework 2.0。

藏积的主页 藏积 | 初学一级 | 园豆:165
提问于:2009-10-12 16:46

问题补充: 尝试使用: [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(); }
 
posted on 2013-05-16 08:57  蓝蓝的天2016  阅读(647)  评论(0编辑  收藏  举报