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;

}

相关推荐
sali-tec10 小时前
C# 基于halcon的视觉工作流-章66 四目匹配
开发语言·人工智能·数码相机·算法·计算机视觉·c#
南棱笑笑生12 小时前
20251211给飞凌OK3588-C开发板适配Rockchip原厂的Buildroot【linux-6.1】系统时适配OV5645摄像头
windows·rockchip
ITMr.罗17 小时前
深入理解EF Core更新机制(开发中因为省事遇到的问题)
服务器·数据库·c#·.net
用户44884667106017 小时前
.NET进阶——深入理解委托(3)事件入门
c#·.net
赵庆明老师19 小时前
NET 中,你可以使用LINQ 根据指定字段排序
c#·linq
老王头的笔记19 小时前
Spring支持的消费器模式,支持在当前事务提交、或回滚的前、后执行业务操作
java·windows·spring
武藤一雄21 小时前
C# 万字拆解线程间通讯?
后端·微软·c#·.net·.netcore·多线程
lljss202021 小时前
C# 定时器类实现1s定时器更新UI
开发语言·c#
白杨攻城狮21 小时前
C# 关于 barierr 心得
开发语言·c#
江沉晚呤时1 天前
延迟加载(Lazy Loading)详解及在 C# 中的应用
java·开发语言·microsoft·c#