0
反正是有,在访问VBA(或Excel的这种方式),我可以看到当前系统运行时间?通过VBA(访问/ Excel)中获取系统运行时间
我知道,在任务管理器,我可以看到它,所以我可以通过VBA检索,这方面的信息?
反正是有,在访问VBA(或Excel的这种方式),我可以看到当前系统运行时间?通过VBA(访问/ Excel)中获取系统运行时间
我知道,在任务管理器,我可以看到它,所以我可以通过VBA检索,这方面的信息?
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
打我给它。 'GetTickCount'肯定比WMI的表现要好。 – Comintern
可能是一个想法,也包括64位声明,也就是'#If VBA7 Then''公开声明PtrSafe函数GetTickCount Lib“kernel32”别名“GetTickCount”()只要' '#Else' 'Public声明功能的GetTickCount库 “KERNEL32” 别名 “的GetTickCount”()作为Long' '#END If'。 (我通常不会包含'Alias'位,但根据您的答案中的内容,我希望我已将它正确添加到该代码中。) – YowE3K
我的声明来自VB6的API查看器。我复制并粘贴它。 – 2016-12-05 18:41:30