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