【发布时间】:2016-09-27 07:04:19
【问题描述】:
用于监视任务管理器中显示的 windows 进程的 VBA 代码。
我正在尝试获取应用程序的 RAM 使用率和 CPU 使用率并将这些值添加到 excel 中。
我尝试如下使用 WMI 类,但是我得到了进程 ID。我无法检索 RAM 使用情况和 CPU 使用情况。 任何人都可以帮助我吗?
Sub test2()
Set objWMIService = GetObject("winmgmts:\\.\root\CIMV2")
Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_Process where caption='excel.exe'", , 48)
For Each objItem In colItems
Sheet1.Range("d2").Value = objItem.ProcessId
Next
Set colItems = objWMIService.ExecQuery( _"SELECT * FROM Win32_PerfFormattedData_PerfProc_Process where IDProcess=" & Sheet1.Range("d2").Value, , 48)
For Each objItem In colItems
Sheet1.Range("A1").Value = "PercentProcessorTime: " & objItem.PercentProcessorTime
Next
End Sub
【问题讨论】:
-
只是我的看法,但从Performance Monitor 收集这些数据不是更容易吗?