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;

}

相关推荐
昏睡红猹5 小时前
C#脚本化(Roslyn):如何在运行时引入nuget包
c#
张人玉6 小时前
C# 常量与变量
java·算法·c#
就是有点傻6 小时前
在C#中,可以不实例化一个类而直接调用其静态字段
c#
软件黑马王子6 小时前
C#系统学习第八章——字符串
开发语言·学习·c#
阿蒙Amon6 小时前
C#读写文件:多种方式详解
开发语言·数据库·c#
Paper_Love7 小时前
x86-64_windows交叉编译arm_linux程序
arm开发·windows
就是有点傻8 小时前
C#如何实现中英文快速切换
数据库·c#
前端若水8 小时前
通过 Windows 共享文件夹 + 手机访问(SMB协议)如何实现
windows·智能手机
一名用户12 小时前
unity实现梦日记式传送组件
后端·c#·unity3d
阿蒙Amon13 小时前
C#扩展方法全解析:给现有类型插上翅膀的魔法
开发语言·c#