2

当用户从 Settings超级按钮关闭 Windows 8时,我的 WPF 应用程序可以通过 SessionEnding 事件检测到这一点。

魅力之下的力量

在选择Shut down的情况下,我得到“Session Ending Due To SystemShutdown”

SystemEvents.SessionEnding += SystemEvents_SessionEnding;

private void SystemEvents_SessionEnding(object sender, SessionEndingEventArgs e)
{            
    Trace.WriteLine("Session Ending Due To " + e.Reason);           
}

关闭呼叫 SessionEnding,但重新启动

但是当用户选择重新启动时,不会调用 SessionEnding!

在 Windows 8 中检测重启意图

  • 怎么做到呢?
4

1 回答 1

1

他们在这里说,通过观看 WM_EndSession 消息,您应该能够观看重新启动:http ://www.autoitscript.com/forum/topic/94616-detect-windows-shutdownlogoffrestart-event/

您还需要在 WPF 应用程序中连接到 WndProc:如何在 WPF 中处理 WndProc 消息?

于 2013-10-20T14:38:14.633 回答