如何获得机器的正常运行时间?

Mis*_*Dev 4 .net

我想显示我的代码运行的机器的运行时间,我该怎么做?

Ini*_*eer 10

试试这个链接.它使用System.Environment.TickCount属性

获取自系统启动以来经过的毫秒数. - MSDN

http://msdn.microsoft.com/en-us/library/system.environment.tickcount(VS.80).aspx

注意:此方法将工作25天,因为TickCount是Int32.

  • 我猜微软从未预料到一台机器可以熬夜超过25天. (9认同)
  • 因此,如果系统连续运行,TickCount 将从零递增到 Int32.MaxValue,持续大约 24.9 天,然后跳转到 Int32.MinValue(负数),然后在接下来的 24.9 天内递增回零。我怎么知道它是否运行超过 25 天??? (2认同)
  • 我认识一个有WinXP的人,他的笔记本电脑在一年中的大部分时间都在运行,所以是的,它会:P (2认同)

Mar*_*ade 5

using System.Management;
using System.Linq;

TimeSpan GetUptime()
 { var query = new SelectQuery("SELECT LastBootUpTime 
                                 FROM Win32_OperatingSystem 
                                 WHERE Primary='true'");
   var mos = new ManagementObjectSearcher(query);
   var str = mos.Get().First().Properties["LastBootUpTime"].Value.ToString();

   return DateTime.Now - ManagementDateTimeConverter.ToDateTime(str);
 }
Run Code Online (Sandbox Code Playgroud)

(基于http://bytes.com/forum/thread502885.html的代码)


Pat*_*ins -1

我建议您使用命令行:net统计工作站并解析输出。机器运行的时间位于“统计时间”之后。

  • 我的意思是工作站服务 (2认同)