捕获关机事件后如何继续执行系统关机事件呢?

chishan911 2006-07-04 11:32:50
如何继续执行系统关机事件呢?
我在程序中写了如下代码:
protected override void WndProc(ref Message m)
{
int WM_ENDSESSION = 0x0016;
if (m.Msg == WM_ENDSESSION)
{
if (MessageBox.Show("关闭xxx程序?", "xxx管理程序", MessageBoxButtons.OKCancel, MessageBoxIcon.Exclamation) == DialogResult.Cancel)
return;
else
{
m.WParam = (IntPtr)0;
m.Result = (IntPtr)1;
this.Close();
}
}
base.WndProc(ref m);
}
当关机时系统弹出了提示,我点击确定后,程序是关闭了,但系统不继续关闭,要再执行一下关机才行,这是怎么回事?我怎么做才能继续关机?
谢谢!
...全文
273 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
chishan911 2007-04-20
  • 打赏
  • 举报
回复
楼主声明:以上答案不具参考价值,但现在必须结贴了.无奈!
CSDNMicroSoft 2006-10-26
  • 打赏
  • 举报
回复
在this.Close();之后还要做关机操作.
因为你弹出的对话框已经阻止了系统的关机处理.
pureair 2006-07-10
  • 打赏
  • 举报
回复
可以尝试调用C:\WINDOWS\system32\shutdown.exe来关机
chishan911 2006-07-05
  • 打赏
  • 举报
回复
通过测试得知0x0016代表系统关机事件,其他的重新启动、注销事件编号分别是多少?
cic_wxf 2006-07-04
  • 打赏
  • 举报
回复
csdn上就有不少,祝你好运
liaodanz 2006-07-04
  • 打赏
  • 举报
回复
代码太多.你在网上搜索C# 关机就有源码例子.
chishan911 2006-07-04
  • 打赏
  • 举报
回复
需要什么API能否说明?
liaodanz 2006-07-04
  • 打赏
  • 举报
回复
需要API

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧