首页 新闻 会员 周边

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

0
悬赏园豆:10 [已关闭问题] 关闭于 2009-10-12 23:08

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(); }
藏积的主页 藏积 | 初学一级 | 园豆:165
提问于:2009-10-12 16:46
< >
分享
所有回答(2)
0

根本就无法捕获

倾城绝厉 | 园豆:4 (初学一级) | 2009-10-12 18:53
0

对啊,你写的有问题,呵呵

苏飞 | 园豆:2024 (老鸟四级) | 2009-10-12 21:24
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册