领先的中文IT技术网站    IT技术从现在起飞

飞诺旗下: 技术社区 | 在线电子书 | 在线试题 | 资源下载 | 飞诺搜索 | 技术博客
用户名: 密   码:
   飞诺网 加入收藏
飞诺网 Asp.net 新闻频道 开发频道 系统频道 服务器 网络频道 网络安全 Java频道 C/C++ PHP开发 电子书 资源下载 社 区 博 客 在线试题
网站开发 VBScript ASP Asp.net Jsp php XML CGI-Perl 搜索引擎 ajax
编程开发 JAVA C/C++ C++ VC C语言 VB C# Delphi Foxpro 汇编 shell编程 游戏开发 软件工程师 WEB开发 PHP ASP Asp.net JSP AJAX CGI JavaScript HTML CSS 数据库 MSSQL Mysql Oracle Access Sybase DB2 sql2005 Office Word Excel Powerpoint Wps 认证考试 二级C语言 三级网络 程序员 网络工程师 思科认证

您当前的位置:飞诺网 >> .net >> .Net技术文章

c#关机时自动退出程序

www.firnow.com    时间 : 2008-08-23  作者:佚名   编辑:本站 点击:   [ 评论 ]

做了一个定时播放器,程序运行时最小化到任务栏托盘,可这时候关闭或重启操作系统使如果程序没有退出,则系统不能关闭.那么如何实现关机时自动退出程序呢?其实很简单,当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.         }
如果图片或页面不能正常显示请点击这里
.Net技术文章推荐文章

文章评论

BBS社区热贴