日期:2014-05-18  浏览次数:20799 次

wpf 得到系统待机的消息
大侠们:
  系统待机时,我的wpf程序要做一些事情处理,然后再待机,我该怎么做,小虾求助,3Q!

------解决方案--------------------
wpf阻止不了系统要干啥吧?
------解决方案--------------------
windows系统待机时会将信息存入
hiberfil.sys文件中,而程序好像没法接到通知,
所以个人认为无解
------解决方案--------------------
private const int WM_QUERYENDSESSION = 0x0011;
protected override void WndProc(ref Message myMessage)
{
switch (myMessage.Msg)
{
case WM_QUERYENDSESSION:
MessageBox.Show("正在关机");
break;
default:
base.WndProc(ref myMessage);
break;
}
}
------解决方案--------------------
从stackoverflow上抄的:

You can have a look at the SystemEvent class. Probably PowerModeChanged will work.