日期:2014-05-18  浏览次数:21177 次

C# 怎么记录开机关机时间?
我想做个程序记录电脑开机关机时间,用C#怎么实现?

现在我写了个服务能记录开机时间,但是关机时OnStop()不执行!怎么设置让系统关闭时停止服务???


谢谢!!!谢谢!!!

------解决方案--------------------
不知道
知道一点 不知道对LZ有帮助没

在 CMD模式下 输入 SYSTEMINFO 可以看到开机多久了
------解决方案--------------------
System.Environment.TickCount
记录的是开机时间

如果对关机时间精度要求不是特别高的话,可以使用定时器,每隔一段时间 ,比如1', 记录下这个数据

------解决方案--------------------
System.Environment.TickCount 

记录这个应该专门有一个类吧,提取与记录开机运行时间的.


空间探针的设计应该能给你点灵感吧,
你可以下栽一个空间探针,看一下它的代码,你就知道如何提取开机运行时间了.


思路如上!
------解决方案--------------------
开机时间可简单地通过WMI
Win32_OperatingSystem LastBootUpTime得到

关机时间应该在服务被关闭时记录
------解决方案--------------------
也可以通过访问系统事件日志来确定开机和关机时间(事件ID=6009/6006)
------解决方案--------------------
程序close事件触发不可靠,因为很多时候会被强制关闭.
定时执行记录时间是个好主意,但会有误差.