FAQ 0022: Wie kann ich die CPU-ID auslesen?
von Helge Rex
Frage
Wie kann ich die ID meiner CPU auslesen?
Beispiel
Intel hatte diese ID mit der Pentium III-Reihe eingeführt. Nach weltweitem Protest seitens Daten- und Verbraucherschützer hat Intel sich dazu durchgerungen, die Abfrage der ID vom BIOS steuern zu lassen. Im BIOS des Mainboards kann man nun auswählen, ob die ID ausgelesen werden kann.
Bis heute haben nur CPUs von Intel diese ID, und hier auch erst ab Pentium III. Es gab mal ein Gerücht, daß AMD diese ID auch einführen möchte, bisher ist es aber bei dem Gerücht geblieben. Alle anderen Hersteller, die x86-kompatible CPUs anbieten, bieten diese ID nicht an.
In unserem Forum wurde eine Lösung gepostet, welche in leicht abgewandelter Form hier gezeigt wird:
Sub GetCPUData(Optional ByVal strComputerName As String = ".") ' Steht im Computername ein Punkt, ist der lokale Rechner ' gemeint. Wird ein Computer mit seinem Namen ' angesprochen, so sind die führenden (Back-)Slashs ' wegzulassen. ' Fehlerbehandlung On Error Resume Next Dim strSQL As String Dim strWMI As String Dim oWMI As Object Dim objItem As Object Dim lngOldMouse As Long ' Mousecursor setzen (es ist eine längere Abfrage) lngOldMouse = Me.MousePointer Me.MousePointer = vbHourglass ' Abfragen festlegen strSQL = "Select * from Win32_Processor" strWMI = "winmgmts:\\" & strComputerName & "\root\cimv2" ' Abfrage durchführen Set oWMI = GetObject(strWMI).ExecQuery(strSQL) ' Alle zurückgegebenen Objekte durchlaufen For Each objItem In oWMI ' Gerätebezeichnung der CPU ausgeben Debug.Print "Prozessor : " & objItem.DeviceID ' Name der CPU ausgeben Debug.Print " Name : " & objItem.Name ' maximale Taktfrequenz der CPU ausgeben Debug.Print " Takt (MHz): " & objItem.MaxClockSpeed ' Prozessor-ID der CPU ausgeben Debug.Print " CPU ID : " & objItem.ProcessorId Next ' Mousecoursor zurücksetzen MousePointer = lngOldMouse End Sub
Listing 1: CPU-Informationen mittels WMI auslesen
Nachtrag von Florian Rittmeier:
Auf http://www.thevbzone.com/ ist eine Datei namens VBCPUInf.zip zu finden, die einige Informationen zu Intel-basierten CPUs ermitteln kann.
Ihre Meinung
Falls Sie Fragen zu dieser FAQ haben, Ihre Erfahrung mit anderen Nutzern austauschen möchten oder auf eine Ergänzung hinweisen möchten, dann teilen Sie uns diese bitte in einem der unten vorhandenen Themen oder über einen neuen Beitrag mit. Hierzu können sie einfach einen Beitrag in einem zum Thema passenden Forum anlegen, welcher automatisch mit dieser Seite verknüpft wird.