有没有办法找出系统上次关闭的时间?
我知道有一种方法可以使用 WMI 使用 Win32_OperatingSystem 命名空间中的 LastBootUpTime 属性找出上次启动时间。
有没有类似的方法可以查出上次关机时间?
谢谢。
最佳答案
(这里的所有内容都是 100% 由 JDunkerley's earlier answer 提供)
解决方案如上,但是使用 BitConverter
可以用更少的语句实现从 byte
数组到 DateTime
的方法。以下六行代码执行相同的操作,并从注册表中提供正确的 DateTime
:
public static DateTime GetLastSystemShutdown()
{
string sKey = @"System\CurrentControlSet\Control\Windows";
Microsoft.Win32.RegistryKey key = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(sKey);
string sValueName = "ShutdownTime";
byte[] val = (byte[]) key.GetValue(sValueName);
long valueAsLong = BitConverter.ToInt64(val, 0);
return DateTime.FromFileTime(valueAsLong);
}
关于c# - 使用 .NET 获取上次 Windows 关闭事件的日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1631933/