转载 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(); }
 

转载于:https://www.cnblogs.com/wenjie/archive/2013/05/16/3081150.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值