c#关机时自动退出程序

做了一个定时播放器,程序运行时最小化到任务栏托盘,可这时候关闭或重启操作系统使如果程序没有退出,则系统不能关闭.那么如何实现关机时自动退出程序呢?其实很简单,当windows操作系统执行关闭动作时,它会发送给各个正在运行的应用程序一个消息WM_QUERYENDSESSION,告诉应用程序要关机了,如果反馈回来的消息值为1,那么windows操作系统就会自动关闭.因此,通过截获WM_QUERYENDSESSION消息,就能实现自动退出程序.

  1.         /// <summary>
  2.         /// 操作系统关闭时,关闭应用程序
  3.         /// </summary>
  4.         /// <param name="m">截获系统消息</param>
  5.         protected override void WndProc(ref Message m)
  6.         {
  7.             switch (m.Msg)
  8.             {
  9.                 case 0x0011://WM_QUERYENDSESSION
  10.                     m.Result = (IntPtr)1;
  11.                     break;
  12.                 default :
  13.                     base.WndProc(ref m);
  14.                     break;
  15.             }            
  16.         }
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值