C#捕获windows关机事件,在系统关机前做一些自己想做的事;
有些时候我们可能想在Windows关机时记录或处理一些事情,这里提供几种方法。
方法一:
/// <summary>
/// 窗口过程的回调函数
/// </summary>
/// <param name="m"></param>
protected override void WndProc(ref Message m)
{
switch (m.Msg)
{
//此消息在OnFormClosing之前
case WindowsMessage.WM_QUERYENDSESSION:
//MessageBox.Show("WndProc.WM_QUERYENDSESSION.我要阻止系统关闭!");
//this.Close();
//this.Dispose();
//Application.Exit();
m.Result = (IntPtr)1; //阻止Windows注销、关机或重启
break;
default:
break;
}
base.WndProc(ref m);
}
方法二: