我想在系統進入睡眠之前保存一些用戶的工作,所以在做了一些研究之後,我來了解一下關於SystemEvents.PowerModeChanged但是在這個事件中我的程序沒有完成保存用戶的工作,在此之前,只有系統正在進行睡眠。那麼我應該如何處理這種情況呢?如何在系統進入睡眠之前做一組任務c#
回答
ManagementEventWatcher eventWatcher = new System.Management.ManagementEventWatcher();
WqlEventQuery query = new WqlEventQuery("Win32_PowerManagementEvent"); //catch power change events
eventWatcher.Query = query;
eventWatcher.EventArrived += new System.Management.EventArrivedEventHandler(eventWatcher_EventArrived); // rgister the event handler
eventWatcher.Start(); // start the event watcher
處理程序:
void eventWatcher_EventArrived(object sender, System.Management.EventArrivedEventArgs e)
{
int eventType = Convert.ToInt32(e.NewEvent.Properties["EventType"].Value);
switch (eventType)
{
case 4://sleep
break;
case 7://resume
break;
}
}
注意:不要忘記停止觀察家當你的程序退出。
if(eventWatcher != null)
eventWatcher.Stop();
更多詳細信息...
http://cmehmet6parmak.wordpress.com/2011/06/14/catch-computer-sleep-event-c-windows-7/
操作系統是否等待應用程序在睡覺前完成其工作?我猜不會。 – Reniuz 2014-10-01 11:07:48
@Reniuz OS不會等待應用程序完成其工作。 – 2014-10-01 11:14:50
我自己試過這個,當睡覺後恢復時,我得到了18個EventType。它指的是什麼?或者何時可以找到代碼列表?這似乎是不可能的任務-_- – 2017-10-25 14:51:15
- 1. 如何在打印之前做單行字符串睡眠?
- 2. 瞭解系統何時進入Menu Extra睡眠狀態?
- 3. 從睡眠C喚醒系統#
- 4. 輸入命令與系統()和睡眠()
- 5. 系統 - 睡眠不正常
- 6. 使node.js程序阻止系統進入睡眠模式
- 7. 在運行下一個操作之前進行x秒睡眠
- 8. 如何讓任務在C#4.0中睡眠(或延遲)?
- 9. 防止iPhone進入睡眠
- 10. 睡眠系統調用線程
- 11. 設備進入睡眠狀態時如何繼續服務?
- 12. 系統之間奇怪的「睡眠」行爲
- 13. Python睡眠過程進入無限期睡眠
- 14. 如何在運行linux命令之前10秒鐘睡眠?
- 15. 如何在javascript中進行睡眠?
- 16. 從睡眠或休眠模式進入/喚醒時,Windows服務如何表現?
- 17. Android系統如何處理睡眠時間過長的線程?
- 18. 如何在電話睡眠後保持任務存活?
- 19. 如何禁用睡眠/睡眠功能?
- 20. 在睡眠不起作用之前發送回聲,任何替代方法?
- 21. 從.NET Windows Service檢測系統待機/睡眠/休眠?
- 22. 如何發送當前線程睡眠
- 23. Windows是否進入睡眠模式或使用C++進行休眠?
- 24. Android LocationManger進入睡眠狀態?
- 25. Cortex M0未進入睡眠模式
- 26. 如何進行主動睡眠?
- 27. 在系統休眠之前完全執行代碼
- 28. C++如何入睡?
- 29. 創建一個進程並告訴它進入睡眠狀態?
- 30. emacs的擴展做系統調用,睡眠,然後重新加載緩衝器
不自動休眠作案保存正在這樣做,一旦你離開睡眠模式可以立即繼續? – Nzall 2014-10-01 10:52:14
@NateKerkhofs,但我想在系統進入睡眠之前做一些自定義的事情(例如,保存系統去睡覺的時間等)。 – 2014-10-01 10:56:38
可能的重複http://stackoverflow.com/questions/16747146/c-sharp-win32-sleep-detection-powermodechanged – yogi 2014-10-01 10:57:38