C# 获取windows 系统开关机时间

关机时间,引用:https://www.coder.work/article/1589448

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);

}

开机时间:

public static DateTime GetStartTime()

{

DateTime n = DateTime.Now;

foreach (var o in new ManagementObjectSearcher("SELECT LastBootUpTime FROM Win32_OperatingSystem").Get())

{

var obj = (ManagementObject)o;

var LastBootUpTime = obj.GetPropertyValue("LastBootUpTime").ToString();

LastBootUpTime = LastBootUpTime.Split('.').FirstOrDefault();

System.IFormatProvider format = new System.Globalization.CultureInfo("zh-CN", true);

//string strDateFormat = "yyyyMMdd";

n = DateTime.ParseExact(LastBootUpTime, "yyyyMMddHHmmss", format, DateTimeStyles.AllowWhiteSpaces);

break;

}

return n;

}

相关推荐
玩泥巴的3 分钟前
.NET 传统信息系统无缝集成飞书审批流
c#·.net·二次开发·飞书
chao1898441 小时前
基于C#实现Modbus通信及CRC校验
java·开发语言·c#
xiaowu0802 小时前
C# 嵌入资源加载 + 外部配置文件的兜底配置
开发语言·c#
马达加斯加D2 小时前
Web系统设计 --- 接口防抖
c#
wen__xvn3 小时前
C++ 中 std::set 的用法
java·c++·c#
lifetime‵(+﹏+)′3 小时前
5060显卡Windows配置Anaconda中的CUDA及Pytorch
人工智能·pytorch·windows
kylezhao20194 小时前
C#读取字节数组某个位的值
开发语言·c#
我是唐青枫5 小时前
深入理解 Interlocked.CompareExchange:C#.NET 原子操作核心原理
c#·.net
桌面运维家6 小时前
Windows vDisk云桌面:VOI架构优化部署实战
windows·架构
softshow10266 小时前
使用 Windows 子系统 WSL 安装 Ubuntu 22.04
linux·windows·ubuntu