Page 1 sur 1

Windows info sur le(s) processeurs

MessagePublié: 16 Mars 2011 à 16:45
par Michael DELIQUE
Code : Tout sélectionner
Public Function WindowsProcessorInfo(wnbProcessor As Integer) As Variant
   Dim lstRetour List As String
   Dim vrObject As Variant
   Dim nbProcessor As Integer
   Dim i As Integer
   Const Computer = "."
   On Error GoTo CatchError
   
   lstRetour("ADDRESSWIDTH") = ""
   lstRetour("ARCHITECTURE") = ""
   lstRetour("AVAILABILITY") = ""
   lstRetour("CAPTION") = ""
   lstRetour("CONFIGMANAGERERRORCODE") = ""
   lstRetour("CONFIGMANAGERUSERCONFIG") = ""
   lstRetour("CPUSTATUS") = ""
   lstRetour("CREATIONCLASSNAME") = ""
   lstRetour("CURRENTCLOCKSPEED") = ""
   lstRetour("CURRENTVOLTAGE") = ""
   lstRetour("DATAWIDTH") = ""
   lstRetour("DESCRIPTION") = ""
   lstRetour("DEVICEID") = ""
   lstRetour("ERRORCLEARED") = ""
   lstRetour("ERRORDESCRIPTION") = ""
   lstRetour("EXTCLOCK") = ""
   lstRetour("FAMILY") = ""
   lstRetour("FAMILYNAME") = ""
   lstRetour("INSTALLDATE") = ""
   lstRetour("L2CACHESIZE") = ""
   lstRetour("L2CACHESPEED") = ""
   lstRetour("L3CACHESIZE") = ""
   lstRetour("L3CACHESPEED") = ""
   lstRetour("LASTERRORCODE") = ""
   lstRetour("LEVEL") = ""
   lstRetour("LOADPERCENTAGE") = ""
   lstRetour("MANUFACTURER") = ""
   lstRetour("MAXCLOCKSPEED") = ""
   lstRetour("NAME") = ""
   lstRetour("NUMBEROFCORES") = ""
   lstRetour("NUMBEROFLOGICALPROCESSORS") = ""
   lstRetour("OTHERFAMILYDESCRIPTION") = ""
   lstRetour("PNPDEVICEID") = ""
   lstRetour("POWERMANAGEMENTCAPABILITIES") = ""
   lstRetour("POWERMANAGEMENTSUPORTED") = ""
   lstRetour("PROCESSORID") = ""
   lstRetour("PROCESSORTYPE") = ""
   lstRetour("REVISION") = ""
   lstRetour("ROLE") = ""
   lstRetour("SOCKETDESIGNATION") = ""
   lstRetour("STATUS") = ""
   lstRetour("STATUSINFO") = ""
   lstRetour("STEPPING") = ""
   lstRetour("SYSTEMCREATIONCLASSNAME") = ""
   lstRetour("SYSTEMNAME") = ""
   lstRetour("UNIQUEID") = ""
   lstRetour("UPGRADEMETHOD") = ""
   lstRetour("VERSION") = ""
   lstRetour("") = ""

   nbProcessor = Abs(wnbProcessor)
   If nbProcessor < 1  Then
      nbProcessor = 1
   End If

   Set vrObject = GetObject("WinMgmts:{impersonationLevel=impersonate, authenticationLevel=connect, (security)}!\\" +Computer + "\root\CIMv2").ExecQuery("SELECT * FROM Win32_processor")
   i=0
   ForAll value In vrObject
      i=i+1
      If i = nbProcessor Then
         On Error Resume Next   
         lstRetour("ADDRESSWIDTH") = CStr(value.AddressWidth)
         lstRetour("ARCHITECTURE") = CStr(value.Architecture)
         lstRetour("AVAILABILITY") = CStr(value.Availability)
         lstRetour("CAPTION") = CStr(value.Caption)
         lstRetour("CONFIGMANAGERERRORCODE") = CStr(value.ConfigManagerErrorCode)
         lstRetour("CONFIGMANAGERUSERCONFIG") = CStr(value.ConfigManagerUserConfig)
         lstRetour("CPUSTATUS") = CStr(value.CpuStatus)
         lstRetour("CREATIONCLASSNAME") = CStr(value.CreationClassName)
         lstRetour("CURRENTCLOCKSPEED") = CStr(value.CurrentClockSpeed)
         lstRetour("CURRENTVOLTAGE") = CStr(value.CurrentVoltage)
         lstRetour("DATAWIDTH") = CStr(value.DataWidth)
         lstRetour("DESCRIPTION") = CStr(value.Description)
         lstRetour("DEVICEID") = CStr(value.DeviceID)
         lstRetour("ERRORCLEARED") = CStr(value.ErrorCleared)
         lstRetour("ERRORDESCRIPTION") = CStr(value.ErrorDescription)
         lstRetour("EXTCLOCK") = CStr(value.ExtClock)
         lstRetour("FAMILY") = CStr(value.Family)
         lstRetour("FAMILYNAME") = ProcessorFamily(CInt(value.Family))
         lstRetour("INSTALLDATE") = CStr(value.InstallDate)
         lstRetour("L2CACHESIZE") = CStr(value.L2CacheSize)
         lstRetour("L2CACHESPEED") = CStr(value.L2CacheSpeed)
         lstRetour("L3CACHESIZE") = CStr(value.L3CacheSize)
         lstRetour("L3CACHESPEED") = CStr(value.L3CacheSpeed)
         lstRetour("LASTERRORCODE") = CStr(value.LastErrorCode)
         lstRetour("LEVEL") = CStr(value.Level)
         lstRetour("LOADPERCENTAGE") = CStr(value.LoadPercentage)
         lstRetour("MANUFACTURER") = CStr(value.Manufacturer)
         lstRetour("MAXCLOCKSPEED") = CStr(value.MaxClockSpeed)
         lstRetour("NAME") = CStr(value.Name)
         lstRetour("NUMBEROFCORES") = CStr(value.NumberOfCores)
         lstRetour("NUMBEROFLOGICALPROCESSORS") = CStr(value.NumberOfLogicalProcessors)
         lstRetour("OTHERFAMILYDESCRIPTION") = CStr(value.OtherFamilyDescription)
         lstRetour("PNPDEVICEID") = CStr(value.PNPDeviceID)
         lstRetour("POWERMANAGEMENTCAPABILITIES") = CStr(Join(value.PowerManagementCapabilities,","))
         lstRetour("POWERMANAGEMENTSUPORTED") = CStr(value.PowerManagementSupported)
         lstRetour("PROCESSORID") = CStr(value.ProcessorId)
         lstRetour("PROCESSORTYPE") = CStr(value.ProcessorType)
         lstRetour("REVISION") = CStr(value.Revision)
         lstRetour("ROLE") = CStr(value.Role)
         lstRetour("SOCKETDESIGNATION") = CStr(value.SocketDesignation)
         lstRetour("STATUS") = CStr(value.Status)
         lstRetour("STATUSINFO") = CStr(value.StatusInfo)
         lstRetour("STEPPING") = CStr(value.Stepping)
         lstRetour("SYSTEMCREATIONCLASSNAME") = CStr(value.SystemCreationClassName)
         lstRetour("SYSTEMNAME") = CStr(value.SystemName)
         lstRetour("UNIQUEID") = CStr(value.UniqueId)
         lstRetour("UPGRADEMETHOD") = CStr(value.UpgradeMethod)
         lstRetour("VERSION") = CStr(value.Version)
         lstRetour("") = CStr(value.VoltageCaps)
         On Error GoTo CatchError
      End If                  
   End ForAll
   Set vrObject = Nothing
   WindowsProcessorInfo = lstRetour
   Erase lstRetour

   Exit Function
CatchError:
   MsgBox "("+Cstr(GetThreadInfo (1))+" Call by "+Cstr(GetThreadInfo(10))+")"+Chr(10)+"Erreur " + Str(Err) + " : "+Chr(10) + CStr(Error)+". "+Chr(10)+"Ligne N° "+Cstr(Erl),16," ERREUR !"
   Erase lstRetour
   lstRetour("ADDRESSWIDTH") = ""
   lstRetour("ARCHITECTURE") = ""
   lstRetour("AVAILABILITY") = ""
   lstRetour("CAPTION") = ""
   lstRetour("CONFIGMANAGERERRORCODE") = ""
   lstRetour("CONFIGMANAGERUSERCONFIG") = ""
   lstRetour("CPUSTATUS") = ""
   lstRetour("CREATIONCLASSNAME") = ""
   lstRetour("CURRENTCLOCKSPEED") = ""
   lstRetour("CURRENTVOLTAGE") = ""
   lstRetour("DATAWIDTH") = ""
   lstRetour("DESCRIPTION") = ""
   lstRetour("DEVICEID") = ""
   lstRetour("ERRORCLEARED") = ""
   lstRetour("ERRORDESCRIPTION") = ""
   lstRetour("EXTCLOCK") = ""
   lstRetour("FAMILY") = ""
   lstRetour("FAMILYNAME") = ""
   lstRetour("INSTALLDATE") = ""
   lstRetour("L2CACHESIZE") = ""
   lstRetour("L2CACHESPEED") = ""
   lstRetour("L3CACHESIZE") = ""
   lstRetour("L3CACHESPEED") = ""
   lstRetour("LASTERRORCODE") = ""
   lstRetour("LEVEL") = ""
   lstRetour("LOADPERCENTAGE") = ""
   lstRetour("MANUFACTURER") = ""
   lstRetour("MAXCLOCKSPEED") = ""
   lstRetour("NAME") = ""
   lstRetour("NUMBEROFCORES") = ""
   lstRetour("NUMBEROFLOGICALPROCESSORS") = ""
   lstRetour("OTHERFAMILYDESCRIPTION") = ""
   lstRetour("PNPDEVICEID") = ""
   lstRetour("POWERMANAGEMENTCAPABILITIES") = ""
   lstRetour("POWERMANAGEMENTSUPORTED") = ""
   lstRetour("PROCESSORID") = ""
   lstRetour("PROCESSORTYPE") = ""
   lstRetour("REVISION") = ""
   lstRetour("ROLE") = ""
   lstRetour("SOCKETDESIGNATION") = ""
   lstRetour("STATUS") = ""
   lstRetour("STATUSINFO") = ""
   lstRetour("STEPPING") = ""
   lstRetour("SYSTEMCREATIONCLASSNAME") = ""
   lstRetour("SYSTEMNAME") = ""
   lstRetour("UNIQUEID") = ""
   lstRetour("UPGRADEMETHOD") = ""
   lstRetour("VERSION") = ""
   lstRetour("") = ""
   WindowsProcessorInfo = lstRetour
   Erase lstRetour
   Exit Function
End Function


Code : Tout sélectionner
Public Function ProcessorFamily(wType As Integer) As String
   On Error GoTo CatchError
   
   Select Case wType
   Case 1
      ProcessorFamily = "Other"
   Case 2
      ProcessorFamily = "Unknown"
   Case 3
      ProcessorFamily = "8086"
   Case 4
      ProcessorFamily = "80286"
   Case 5
      ProcessorFamily = "80386"
   Case 6
      ProcessorFamily = "80486"
   Case 7
      ProcessorFamily = "8087"
   Case 8
      ProcessorFamily = "80287"
   Case 9
      ProcessorFamily = "80387"
   Case 10
      ProcessorFamily = "80487"
   Case 11
      ProcessorFamily = "Pentium® brand"
   Case 12
      ProcessorFamily = "Pentium® Pro"
   Case 13
      ProcessorFamily = "Pentium® II"
   Case 14
      ProcessorFamily = "Pentium® processor With MMX technology"
   Case 15
      ProcessorFamily = "Celeron™"
   Case 16
      ProcessorFamily = "Pentium® II Xeon"
   Case 17
      ProcessorFamily = "Pentium® III"
   Case 18
      ProcessorFamily = "M1 Family"
   Case 19
      ProcessorFamily = "M2 Family"
   Case 24
      ProcessorFamily = "K5 Family"
   Case 25
      ProcessorFamily = "K6 Family"
   Case 26
      ProcessorFamily = "K6-2"
   Case 27
      ProcessorFamily = "K6-3"
   Case 28
      ProcessorFamily = "AMD Athlon™ Processor Family"
   Case 29
      ProcessorFamily = "AMD® Duron™ Processor"
   Case 30
      ProcessorFamily = "AMD2900 Family"
   Case 31
      ProcessorFamily = "K6-2+"
   Case 32
      ProcessorFamily = "Power PC Family"
   Case 33
      ProcessorFamily = "Power PC 601"
   Case 34
      ProcessorFamily = "Power PC 603"
   Case 35
      ProcessorFamily = "Power PC 603+"
   Case 36
      ProcessorFamily = "Power PC 604"
   Case 37
      ProcessorFamily = "Power PC 620"
   Case 38
      ProcessorFamily = "Power PC X704"
   Case 39
      ProcessorFamily = "Power PC 750"
   Case 48
      ProcessorFamily = "Alpha Family"
   Case 49
      ProcessorFamily = "Alpha 21064"
   Case 50
      ProcessorFamily = "Alpha 21066"
   Case 51
      ProcessorFamily = "Alpha 21164"
   Case 52
      ProcessorFamily = "Alpha 21164PC"
   Case 53
      ProcessorFamily = "Alpha 21164a"
   Case 54
      ProcessorFamily = "Alpha 21264"
   Case 55
      ProcessorFamily = "Alpha 21364"
   Case 64
      ProcessorFamily = "MIPS Family"
   Case 65
      ProcessorFamily = "MIPS R4000"
   Case 66
      ProcessorFamily = "MIPS R4200"
   Case 67
      ProcessorFamily = "MIPS R4400"
   Case 68
      ProcessorFamily = "MIPS R4600"
   Case 69
      ProcessorFamily = "MIPS R10000"
   Case 80
      ProcessorFamily = "SPARC Family"
   Case 81
      ProcessorFamily = "SuperSPARC"
   Case 82
      ProcessorFamily = "microSPARC II"
   Case 83
      ProcessorFamily = "microSPARC IIep"
   Case 84
      ProcessorFamily = "UltraSPARC"
   Case 85
      ProcessorFamily = "UltraSPARC II"
   Case 86
      ProcessorFamily = "UltraSPARC IIi"
   Case 87
      ProcessorFamily = "UltraSPARC III"
   Case 88
      ProcessorFamily = "UltraSPARC IIIi"
   Case 96
      ProcessorFamily = "68040"
   Case 97
      ProcessorFamily = "68xxx Family"
   Case 98
      ProcessorFamily = "68000"
   Case 99
      ProcessorFamily = "68010"
   Case 100
      ProcessorFamily = "68020"
   Case 101
      ProcessorFamily = "68030"
   Case 112
      ProcessorFamily = "Hobbit Family"
   Case 120
      ProcessorFamily = "Crusoe™ TM5000 Family"
   Case 121
      ProcessorFamily = "Crusoe™ TM3000 Family"
   Case 128
      ProcessorFamily = "Weitek"
   Case 130
      ProcessorFamily = "Itanium™ Processor"
   Case 144
      ProcessorFamily = "PA-RISC Family"
   Case 145
      ProcessorFamily = "PA-RISC 8500"
   Case 146
      ProcessorFamily = "PA-RISC 8000"
   Case 147
      ProcessorFamily = "PA-RISC 7300LC"
   Case 148
      ProcessorFamily = "PA-RISC 7200"
   Case 149
      ProcessorFamily = "PA-RISC 7100LC"
   Case 150
      ProcessorFamily = "PA-RISC 7100"
   Case 160
      ProcessorFamily = "V30 Family"
   Case 176
      ProcessorFamily = "Pentium® III Xeon™"
   Case 177
      ProcessorFamily = "Pentium® III Processor With Intel® SpeedStep™ Technology"
   Case 178
      ProcessorFamily = "Pentium® 4"
   Case 179
      ProcessorFamily = "Intel® Xeon™"
   Case 180
      ProcessorFamily = "AS400 Family"
   Case 181
      ProcessorFamily = "Intel® Xeon™ processor MP"
   Case 182
      ProcessorFamily = "AMD AthlonXP™ Family"
   Case 183
      ProcessorFamily = "AMD AthlonMP™ Family"
   Case 184
      ProcessorFamily = "Intel® Itanium® 2"
   Case 185
      ProcessorFamily = "AMD Opteron™ Family"
   Case 190
      ProcessorFamily = "K7"
   Case 200
      ProcessorFamily = "IBM390 Family"
   Case 201
      ProcessorFamily = "G4"
   Case 202
      ProcessorFamily = "G5"
   Case 250
      ProcessorFamily = "i860"
   Case 251
      ProcessorFamily = "i960"
   Case 260
      ProcessorFamily = "SH-3"
   Case 261
      ProcessorFamily = "SH-4"
   Case 280
      ProcessorFamily = "ARM"
   Case 281
      ProcessorFamily = "StrongARM"
   Case 300
      ProcessorFamily = "6x86"
   Case 301
      ProcessorFamily = "MediaGX"
   Case 302
      ProcessorFamily = "MII"
   Case 320
      ProcessorFamily = "WinChip"
   Case 350
      ProcessorFamily = "DSP"
   Case 500
      ProcessorFamily = "Video Processor"
   Case Else
      ProcessorFamily = CStr(wType)
   End Select

   Exit Function
CatchError:
   Msgbox "("+Cstr(Getthreadinfo (1))+" Call by "+Cstr(Getthreadinfo(10))+")"+Chr(10)+"Erreur " + Str(Err) + " : "+Chr(10) + Cstr(Error)+". "+Chr(10)+"Ligne N° "+Cstr(Erl),16," ERREUR !"
   ProcessorFamily = CStr(wType)
   Exit Function
End Function