c#关机时自动退出程序 (zt)
2009-01-14 17:49
309 查看
做了一个定时播放器,程序运行时最小化到任务栏托盘,可这时候关闭或重启操作系统使如果程序没有退出,则系统不能关闭.那么如何实现关机时自动退出程序呢?其实很简单,当windows操作系统执行关闭动作时,它会发送给各个正在运行的应用程序一个消息WM_QUERYENDSESSION,告诉应用程序要关机了,如果反馈回来的消息值为1,那么windows操作系统就会自动关闭.因此,通过截获WM_QUERYENDSESSION消息,就能实现自动退出程序.
/// <summary>
/// 操作系统关闭时,关闭应用程序
/// </summary>
/// <param name="m">截获系统消息</param>
protected override void WndProc(ref Message m)
{
switch (m.Msg)
{
case 0x0011://WM_QUERYENDSESSION
m.Result = (IntPtr)1;
break;
default :
base.WndProc(ref m);
break;
}
}
/// <summary>
/// 操作系统关闭时,关闭应用程序
/// </summary>
/// <param name="m">截获系统消息</param>
protected override void WndProc(ref Message m)
{
switch (m.Msg)
{
case 0x0011://WM_QUERYENDSESSION
m.Result = (IntPtr)1;
break;
default :
base.WndProc(ref m);
break;
}
}
相关文章推荐
- c#关机时自动退出程序
- c#关机时自动退出程序
- c#关机时自动退出程序
- 转载 C#写的程序,在关机时不能退出,导致系统不能关机。
- c#中如何退出程序后自动重新启动程序
- c#中实现退出程序后自动重新启动程序的方法
- c#中如何退出程序后自动重新启动程序
- C#:在Windows关机前主动退出程序
- C#WinForm程序异常退出的捕获、继续执行与自动重启
- 转 C#WinForm程序异常退出的捕获、继续执行与自动重启
- C# 自动退出当前程序,然后再启动
- C#WinForm程序异常退出的捕获、继续执行与自动重启
- C#退出程序自动重新启动
- C#WinForm程序异常退出的捕获、继续执行与自动重启
- C#WinForm程序异常退出的捕获、继续执行与自动重启
- C# 屏幕监控 自动截屏程序 主窗体隐藏,仅在进程中显示
- C# WinForm程序完全退出的问题解决,需要的朋友可以参考一下
- [C#]关于调用Office应用程序后,程序不退出的问题
- [转]C#创建服务及使用程序自动安装服务,.NET创建一个即是可执行程序又是Windows服务的exe
- Asp.Net(C#)自动执行计划任务的程序实例分析