GetCpuInfo




Const HKEY_LOCAL_MACHINE = &H80000002

' Information about the CPU

' you can pass a number <>1 to the last argument to retrieve

' information on all the processors in a multi-CPU system

'

' Returns null strings or MHz=-1 if keys aren't found

'

' Requires the GetRegistryValue routine


Sub GetCpuInfo(Description As String, Vendor As String, MHz As Integer, _
Optional CpuNumber As Integer = 1)
Dim keyName As String, speed As String

keyName = "Hardware\Description\System\CentralProcessor\" & CStr(CpuNumber - _
1)
' description and vendor info are kept in these keys

Description = GetRegistryValue(HKEY_LOCAL_MACHINE, keyName, "Identifier", _
"")
Vendor = GetRegistryValue(HKEY_LOCAL_MACHINE, keyName, "VendorIdentifier", _
"")

' speed is stored as an hex number

speed = GetRegistryValue(HKEY_LOCAL_MACHINE, keyName, "~MHz", "")
If LCase$(Left$(speed, 2)) = "0x" Then
MHz = Val("&H" & Mid$(speed, 3))
Else
MHz = -1
End If
End Sub












( getcpuinfo.html )- by Paolo Puglisi - Modifica del 17/12/2023