Tipp 0477 CPU-Daten ermitteln (WMI)
Autor/Einsender:
Datum:
  Max Kaffl
15.12.2005
Entwicklungsumgebung:   VB 6
Mit der Windows Management Instrumentation (WMI) hat Microsoft ein mächtige Schnittstelle geschaffen, mit der sehr viele Systemfunktionen ausgelesen werden können. So können z. B. neben der Prozessorbezeichnung nicht nur die Anzahl der CPU's (Co-Prozessor gilt auch als CPU) sondern auch die Taktfrequenz und die CPU-ID ermittelt werden.
 
Sub GetCPUData()
  Dim objCPUItem As Object, objCPU As Object

  On Error Resume Next
  Set objCPUItem = _
        GetObject("winmgmts:").InstancesOf("Win32_Processor")

  If Err.Number = 0 Then
    Debug.Print "Anzahl der Prozessoren incl. Co-Prozessoren: " & _
          Trim$(Str$(objCPUItem.Count))

    For Each objCPU In objCPUItem
      Debug.Print "Prozessor: " & objCPU.DeviceID
      Debug.Print "Bezeichnung: " & Trim$(objCPU.Name)
      Debug.Print "Takt (MHz): " & objCPU.MaxClockSpeed
      Debug.Print "CPU-ID: " & objCPU.ProcessorId
    Next

    Set objCPUItem = Nothing
  End If
  On Error GoTo 0
End Sub
 
Weitere Links zum Thema
Windows Management Instrumentation (WMI)
Dienst mit WMI ansteuern
Hinweis für VBA-Anwender
Der hier abgebildete Code funktioniert auch in einem VBA-Projekt, dieser muss dazu lediglich in den VB-Editor der entsprechenden Anwendung kopiert werden. Im Download befindet sich ein Excel-Beispiel. Die im VBA-Ordner enthaltene *.frm-Datei kann auch in Word und PowerPoint im VB-Editor importiert werden.
Hinweis
Um diesen Tipp ausführen zu können, muss WMI installiert sein. Dies ist bei Windows 2000, Windows XP und Windows ME (Millenium Edition) standardmäßig der Fall. Für Windows 95/98 und NT 4.0 ist das WMI CORE 1.5 als Download verfügbar, das eine vergleichbare Funktionalität bietet.

Windows-Version
95
98
ME
NT
2000
XP
Vista
Win 7
VB-Version
VBA 5
VBA 6
VB 4/16
VB 4/32
VB 5
VB 6


Download  (18,7 kB) Downloads bisher: [ 1390 ]

Vorheriger Tipp Zum Seitenanfang Nächster Tipp

Startseite | Projekte | Tutorials | API-Referenz | VB-/VBA-Tipps | Komponenten | Bücherecke | VB/VBA-Forum | VB.Net-Forum | DirectX-Forum | Foren-Archiv | DirectX | VB.Net-Tipps | Chat | Spielplatz | Links | Suchen | Stichwortverzeichnis | Feedback | Impressum

Seite empfehlen Bug-Report
Letzte Aktualisierung: Donnerstag, 25. August 2011