我正在做一个应用程序,用于在用户注销时清除临时文件,历史记录等。那么如何知道系统是否要注销(使用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