Da man diesen Thread bei Google findet, wenn man nach einer Lösung für diese Problem sucht (Anzeigen der CPU-Last), habe ich das Script hier "etwas" verkleinert. ![]()
$wmi = ObjGet("winmgmts:\\localhost\root\CIMV2")
$col = $wmi.ExecQuery("select * from win32_process where name = '"&$pName&"'")
For $pro In $col
MsgBox(0, "Test", $col.LoadPercentage)
Next
Edit:
Hab das ganze nochmal ungeändert.
Hier ist eine Liste mit allen Werten, die man auslesen kann:
win32_process-Tabelle: http://msdn.microsoft.com/en-us/library/…2(v=vs.85).aspx
win32_processor-Tabelle: http://msdn.microsoft.com/en-us/library/…3(v=VS.85).aspx
In die Where-Clause kann ebenfalls jeder Wert eingebaut werden.
So kann man z.B. Prozesse suchen, die eine hohe Last haben. (WHERE LoadPercentage > 90)
Edit2:
Und nochmal ein schönerer Nachtrag:
Prozessauslastung auslesen
[autoit]$wmi = ObjGet("winmgmts:\\.\root\cimv2")
Local $refresher = ObjCreate("WbemScripting.SWbemRefresher")
$cols = $refresher.AddEnum($wmi, "Win32_PerfFormattedData_PerfProc_Process" ).ObjectSet
While 1
Sleep(200)
$refresher.Refresh
For $proc In $cols
If ($proc.IDProcess = ProcessExists("Skype.exe")) Then
ToolTip($proc.PercentProcessorTime)
EndIf
Next
WEnd