日期:2014-05-19  浏览次数:20819 次

关闭操作系统时,软件可以检测到这个事件吗?即软件是否会发生formclosed事件?
关闭操作系统时,软件可以检测到这个事件吗?即软件是否会发生formclosed事件?

------解决方案--------------------
在你的MainForm里重写WndProc事件,捕获关机:

const int WM_QUERYENDSESSION = 0x0011;
protected override void WndProc(ref Message m)
{
switch (m.Msg)
{

case WM_QUERYENDSESSION:
this.Close();
this.Dispose();

//Application.Exit();
dosomething();

break;
default:
break;
}
base.WndProc(ref m);
}