我正在做一個應用程序,用於在用戶註銷時清除臨時文件,歷史記錄等。那麼如何知道系統是否要註銷(使用C#)?從系統獲取註銷事件
7
A
回答
9
有一個在環境類講述如果關機過程已經開始了物業:
Environment.HasShutDownStarted
但一些谷歌上搜索後,我發現,這可能是幫助你:
using Microsoft.Win32;
//during init of your application bind to this event
SystemEvents.SessionEnding +=
new SessionEndingEventHandler(SystemEvents_SessionEnding);
void SystemEvents_SessionEnding(object sender, SessionEndingEventArgs e)
{
if (Environment.HasShutdownStarted)
{
//Tackle Shutdown
}
else
{
//Tackle log off
}
}
但是,如果您只想清除臨時文件,那麼我認爲區分關機或註銷對您沒有任何影響。
0
6
如果你特別需要註銷的情況下,您可以修改TheVillageIdiot的回答提供的代碼如下:
using Microsoft.Win32;
//during init of your application bind to this event
SystemEvents.SessionEnding +=
new SessionEndingEventHandler(SystemEvents_SessionEnding);
void SystemEvents_SessionEnding(object sender, SessionEndingEventArgs e)
{
if (e.Reason == SessionEndReasons.Logoff)
{
// insert your code here
}
}
相關問題
- 1. 從操作系統獲取事件
- 2. C#中記錄登錄,註銷,系統鎖定/解鎖事件#
- 3. 捕獲系統事件
- 4. 鈦:註冊到系統事件
- 5. 登錄註銷系統出錯
- 6. 改善登錄/註銷系統
- 7. Facebook的註銷android系統編程
- 8. 圖書館系統登錄註銷
- 9. Android系統自動註銷應用
- 10. 實施登錄/註銷系統
- 11. 從系統獲取XML()
- 12. iPhone - 獲取用戶互動事件並自動註銷
- 13. 獲取系統
- 14. Parse.com傾聽註銷事件
- 15. Windows註銷事件C++
- 16. 獲取註冊事件的事件
- 17. 如何在ASP.net中獲取系統登錄和註銷時間MVC4
- 18. 如何從安全日誌獲取用戶原始登錄和註銷事件?
- 19. SessionInformation過期不會導致用戶從系統註銷
- 20. 如何訪問fsevents以獲取文件系統事件?
- 21. Boost事件系統
- 22. Joomla - 如何捕獲系統事件
- 23. 在活動中捕獲系統事件
- 24. 使用python捕獲系統事件
- 25. 在系統級聽取重要事件
- 26. 使用boost文件系統獲取文件系統類型
- 27. 當我從Facebook註釋框登錄/註銷時,如何捕獲事件?
- 28. 獲取android系統
- 29. 如何將Spring Security註銷添加到系統以註銷用戶?
- 30. 從Linux內核中讀取文件系統事件(不帶Inotify)
但請記住,在Vista +你很少有時間關閉期間做的東西,所以請確保您不能阻止或等待任何原因(即試圖刪除可能位於網絡共享中的文件等) – 2009-06-12 21:34:08