Windows info sur le(s) processeurs

Windows info sur le(s) processeurs

Messagepar Michael DELIQUE » 16 Mars 2011 à 16:45

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
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Retour vers Divers