- ProcessName = "ttplayer.exe"
-
- Set objSWbemService = GetObject("winmgmts:\\.\root\cimv2")
-
- set colItems = objSWbemService.ExecQuery("select * from Win32_Processor")
- for each objItem in colItems
- CpuNum = CpuNum + objItem.NumberOfLogicalProcessors
- next
-
- set colItems = objSWbemService.ExecQuery("select * from Win32_Process " _
- & " where Name = '" & ProcessName & "'")
- for each objItem in colItems
- ProcessId = objItem.ProcessId
- exit for
- next
-
- set colItems = objSWbemService.ExecQuery( _
- "select * from Win32_PerfFormattedData_PerfProc_Process " _
- & " where IDProcess = " & ProcessId)
- for each objItem in colItems
- 'WScript.Echo objItem.Path_.RelPath
- set SWbemObject = objItem
- next
-
- SWbemObject.Refresh_
- do
- SWbemObject.Refresh_
- WScript.StdOut.write vbCr & Time() & vbTab _
- & (SWbemObject.PercentProcessorTime / CpuNum) & "%" & vbTab
- WScript.Sleep 1000
- loop
复制代码 一个程序可能有多个进程实例,这里只处理单进程的情况。要处理多个进程也很简单,有需要者请自行修改。 |