Вопрос
Как определить марку процессора?
Пробовал через GetSystemInfo, но он возвращает лишь его тип (…386,486,586), А мне надо и название и тип. Можно конечно брать из реестра, но мне это не очень нравится.
Ответ
Private Sub Form_Load()
MsgBox wmiProcessorInfo
End Sub
Private Function wmiProcessorInfo() As String
Dim cpuSet As SWbemObjectSet
Dim cpu As SWbemObject
Dim strR As String
Set cpuSet = GetObject("winmgmts:{impersonationLevel=impersonate}"). _
InstancesOf("Win32_Processor")
For Each cpu In cpuSet
strR = strR & cpu.Name & vbCrLfPrivate Function wmiProcessorInfo() As
String
Dim cpuSet As SWbemObjectSet
Dim cpu As SWbemObject
Dim itmx As ListItem
Dim strR As String
Set cpuSet = GetObject("winmgmts:{impersonationLevel=impersonate}"). _
InstancesOf("Win32_Processor")
For Each cpu In cpuSet 'для каждого проца, если их несколько
strR = strR & cpu.Name & vbCrLf
'А еще есть такие данные
'cpu.DeviceID
'cpu.Availability
'cpu.AddressWidth
'cpu.CpuStatus
'cpu.CurrentClockSpeed
'cpu.MaxClockSpeed
'cpu.L2CacheSize
'cpu.L2CacheSpeed
'cpu.VoltageCaps
'cpu.Name
Next
wmiProcessorInfo = Left$(Trim$(strR), Len(Trim$(strR)) — 2)
End Function
Но на машине должен быть установлен WMI. На XP/2000 он идет, а на 9х прийдется инсталлировать отдельно
Аваков Дмитрий Александрович
Copyright 2000-2004 Сообщество Чайников
Контактная информация