无论如何,在Access VBA(或那种方式的Excel)中,我可以看到当前系统的Up Time?
我知道在任务管理器中我可以看到它,所以我可以通过VBA检索那种信息吗?
答案 0 :(得分:4)
<强>的GetTickCount 强>
GetTickCount函数检索自系统启动以来经过的毫秒数。它仅限于系统计时器的分辨率。要获取系统计时器分辨率,请使用GetSystemTimeAdjustment函数。
DWORD GetTickCount(VOID);
<强>参数强>
此功能没有参数。
<强>说明强>
经过的时间存储为DWORD值。因此,如果系统连续运行49.7天,时间将回绕到零。
库:使用Kernel32.lib。
需要声明API调用,请参阅帮助中的Declare
。从库名称我们知道dll名称是kernel32.dll。
Public Declare Function GetTickCount Lib "kernel32" Alias "GetTickCount" () As Long
使用
msgbox GetTickCount()
请注意,这是未签名的。 VBA将所有多头视为已签名,因此较大的数字将打印为负数,而不是对它们进行总结。
另一种方法是使用WMI。
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * From Win32_OperatingSystem")
For Each objItem in colItems
msgbox objItem.lastbootuptime & " " & objItem.caption
Next