Есть ли в любом случае время, когда компьютер перейдет в режим гибернации с C #?
У меня есть способ вызвать Messagebox
, когда начинается спящий режим, используя SystemEvents.SessionSwitch
и PowermodeChange
. Messagebox
работает только тогда, когда компьютер фактически переходит в режим гибернации.
Но я бы хотел узнать время до его перехода в режим гибернации, чтобы я мог выполнить что-то еще, прежде чем он перейдет в режим гибернации.
protected override void WndProc(ref Message m) {
switch (m.Msg) {
case WM_POWERBROADCAST:
switch (m.WParam.ToInt32()) {
//value passed when system is going on standby / suspended
case PBT_APMQUERYSUSPEND:
MessageBox.Show("test);
break;
//value passed when system is suspended
case (PBT_APMSUSPEND): break;
//value passed when system is resumed automatically
case (PBT_APMRESUMEAUTOMATIC):
break;
//value passed when system is resumed after suspension.
case PBT_APMRESUMESUSPEND:
break;
}
break;
default:
break;
}
base.WndProc(ref m);
}
Я знаю, что PBT_APMQUERYSUSPEND что-то получает, когда система отключается, но сообщение не появляется