首页 > 解决方案 > 通过 Visual Studio 读取 Win7 和 Win10 的 windows 启动时间

问题描述

我可以从我的 Win7 计算机上读取开始时间。

public static DateTime WindowsStartTime()
{
    DateTime dt = new DateTime();

    try
    {
        dt = DateTime.Now - new TimeSpan(0, 0, 0, 0, System.Environment.TickCount);
        return dt;
    }
    catch (Exception ex)
    {
        return dt;
    }
}

不幸的是,此代码不适用于 Win10 计算机。有人知道为什么这不起作用吗?

标签: c#wpf

解决方案


好吧,由于System.Environment.TickCount是类型int,它具有最大值

 int.MaxValue = 2147483647 // milliseconds

这是

 2147483647 ms = 
 2147483.647 seconds ~ 
 24.85 days

因此,如果您在大约一个月前或更早之前打开工作站,您会因为整数溢出而出现错误的时间(不是Windows 版本


推荐阅读