Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
652to656
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
652to656
652to656
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

CPU-Auslastung abfragen

CPU-Auslastung abfragen
14.08.2005 12:35:55
Norman
Hallo nochmal,
habe gerade mal ein bisserl recherchiert aber nix gescheites zur Anzeige der CPU-Auslastung gefunden. Ich will NICHT den Fortschritt eines Makros anzeigen sondern tatsächlich die CPU-Auslastung abfragen (à la Task-Manager), damit ich ggf. noch weitere Prozesse anwerfen kann (mittels SHELL) bzw. die Anzahl der Prozesse reduzieren kann (mittels KILL).
Weiß jemand, wie ich die CPU-Auslastung abfragen kann?
Gruß und Danke
Norman

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: CPU-Auslastung abfragen
14.08.2005 14:35:58
K.Rola
Hallo,
Hierzu muss RSRC32.DLL vorhanden sein:
Option Explicit
Private Declare Function GetFreeSystemResources32 _
Lib "rsrc32.dll" Alias "_MyGetFreeSystemResources32@4" _
(ByVal aloRK As Integer) As Integer
Const RT_SYSTEM = 0
Const RT_GDI = 1
Const RT_USER = 2
Function GetFreeResources(R_Type As Integer) As Integer
On Error GoTo ENDE
GetFreeResources = GetFreeSystemResources32(R_Type)
Exit Function
ENDE:
GetFreeResources = -1
End Function

Private Sub cmdOK_Click()
MsgBox "System: " & GetFreeResources(RT_SYSTEM) & Chr(10) & _
"GDI: " & GetFreeResources(RT_GDI) & Chr(10) & _
"User: " & GetFreeResources(RT_USER)
End Sub

Gruß K.Rola
Anzeige
OT: Ui, super, vielen Dank Ihr beiden!
14.08.2005 15:55:08
Norman
Gruß
Norman
AW: CPU-Auslastung XP
15.08.2005 08:32:58
Rolf
Hi K.Rola,
hast du auch eine XP-Lösung im Angebot?
Herzliche Grüße
Rolf
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

Anzeige
AW: CPU-Auslastung XP
15.08.2005 21:49:46
Rolf
Hi K.Rola,
wieder mal eine Demonstration, dass Programmieren
auch künstlerische Aspekte haben kann.
Danke dir
Rolf
PS
Anzeige via "Userform1.Show vbModeless"

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige