СообЧа > База Знаний > Программирование > Visual Basic

Вопрос

Как определить марку процессора?

Пробовал через 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 Сообщество Чайников
Контактная информация