110,537
社区成员
发帖
与我相关
我的任务
分享
Microsoft.Win32.SessionEnding
private bool canClose = true;
public const int WM_QUERYENDSESSION = 0x11;
protected override void WndProc(ref Message m)
{
if (m.Msg == WM_QUERYENDSESSION)
{
//m.Result = new IntPtr(1);
canClose = false;
}
base.WndProc(ref m);
}
protected override void OnClosing(CancelEventArgs e)
{
if (!canClose)
{
e.Cancel = true;
}
base.OnClosing(e);
//还原回来,等到下一次收到消息会设置标记的,如果不是,正常情况也要可以关闭。
canClose = true;
}
private bool canClose = true;
public const int WM_QUERYENDSESSION = 0x11;
protected override void WndProc(ref Message m)
{
if (m.Msg == WM_QUERYENDSESSION)
{
//m.Result = new IntPtr(1);
canClose = false;
}
base.WndProc(ref m);
}
protected override void OnClosing(CancelEventArgs e)
{
if (!canClose)
{
e.Cancel = true;
}
base.OnClosing(e);
}