| 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 | | | | set SWbemObject = objItem | | next | | | | SWbemObject.Refresh_ | | do | | SWbemObject.Refresh_ | | WScript.StdOut.write vbCr & Time() & vbTab _ | | & (SWbemObject.PercentProcessorTime / CpuNum) & "%" & vbTab | | WScript.Sleep 1000 | | loopCOPY |
一个程序可能有多个进程实例,这里只处理单进程的情况。要处理多个进程也很简单,有需要者请自行修改。 |