c# - 从系统中获取注销事件

标签 c# .net wpf logout

我正在做一个应用程序,用于在用户注销时清除临时文件、历史记录等。那么我如何知道系统是否要注销(在 C# 中)?

最佳答案

Environment 类中有一个属性告诉我们关闭过程是否已经开始:

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
     }
  }

但如果您只想清除临时文件,那么我认为区分关机或注销对您来说没有任何影响。

关于c# - 从系统中获取注销事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/984881/

相关文章:

javascript - Web 文本编辑器中的 RTF 格式

c# - 通用Windows应用程序蓝牙支持

c# - 为什么 C# 中的锯齿状数组以相反的方式定义?

c# - 在让网络爬虫获得总链接数时需要帮助理解混淆

c# - 如何检查文件是否以特定扩展名结尾然后将文件添加到列表?

wpf - 如何制作通用 wpf mvvm 窗口打开/关闭事件处理程序?

c# - WPF Datagrid 多项选择在拖动时丢失

asp.net - 如何在 Asp.net MVC 中使用代码优先方法更新模型和数据库

.net - 有没有办法从 *.config 文件中声明性地设置 ServicePointManager 的 ServerCertificateValidationCallback 属性?

.net - 适用于 .NET (WPF) 的 iOS 控件