AW: CPU-Auslastung XP
15.08.2005 17:06:59
K.Rola
Hallo,
Option Explicit
Private Declare Sub Sleep Lib "Kernel32" (ByVal ms As Long)
Sub CPU_Auslastung()
Dim objWMI As Object, objRefresh As Object, colCPU As Object
Dim i As Long, objCPU As Object
Set objWMI = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & "." & "\root\cimv2")
Set objRefresh = CreateObject("WbemScripting.Swbemrefresher")
Set colCPU = objRefresh.AddEnum _
(objWMI, "Win32_PerfFormattedData_PerfOS_Processor").objectSet
i = 0
objRefresh.Refresh
Do
For Each objCPU In colCPU
If objCPU.PercentProcessorTime > 0 Then
UserForm1.Label1 = objCPU.PercentProcessorTime & "%"
DoEvents
Else
UserForm1.Label1 = "0%"
DoEvents
End If
Next
Sleep 5000 'nach 5 Sekunden aktualisieren
objRefresh.Refresh
Loop
End Sub
Nur für Windows XP geeignet!
Anzeige in userform oder Symbolleiste, Zelle nicht zu empfehlen.
Gruß K.Rola