获取关机时间
方法1:
原理:获取C:\WINDOWS\system32\config\system文件时间戳即可
修改时间 = 开机时间
访问时间 = 关机时间
呵呵,很简单是吧,看代码: $start = FileGetTime('C:\WINDOWS\system32\config\system', 0,0)
$shut = FileGetTime('C:\WINDOWS\system32\config\system', 2,0)
If Not @error Then
MsgBox(0, "开机时间:", $start[0]&'年'&$start[1]&'月'&$start[2]&'日'&$start[3]&'时'&$start[4]&'分')
MsgBox(0, "上次关机时间:", $shut[0]&'年'&$shut[1]&'月'&$shut[2]&'日'&$shut[3]&'时'&$shut[4]&'分')
EndIf
方法2:
原理:利用eventlog事件来查看计算机开关机的记录
运行eventvwr.msc 进入“事件查看器”
在“事件查看器”当中的系统日志中包含了windows XP 系统组建记录的事件
在启动过程中加载驱动程序和其他一些系统组建的成功与否都记录在系统日志当中
当然也包括计算机开关机的记录
其中
事件ID 6006 ID6005、 ID 6009就表示不同状态的机器的情况(开关机)。
6005 信息 EventLog 事件日志服务已启动。(开机)
6006 信息 EventLog 事件日志服务已停止。(关机)
6009 信息 EventLog 按ctrl、alt、delete键(非正常)关机
相关信息贮存在C:\windows\system32\config\SysEvent.Evt
这个文件直接读取是乱码的
看来只能通过获取列表item文本再通过正则提取事件ID对应的时间
代码就不写了,有兴趣的可以自己试试 |