返回列表 发帖

[原创] VBScript监测指定进程的CPU占用率

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
loopCOPY
一个程序可能有多个进程实例,这里只处理单进程的情况。要处理多个进程也很简单,有需要者请自行修改。
1

评分人数

    • zqz0012005: 鼓励原创作品,感谢分享PB + 10 技术 + 1
我不知道

返回列表