J'ai un programme que j'ai codé de sorte à s'activer en ligne et se lier à l'ordinateur via l'adresse MAC. Mais j'avais toujours dans l'idée de remplacer l'adresse MAC par une donnée unique qui concerne le processeur.
JE suis tombé sur ce script (généré par scriptomatic) sur le forum EN:
► Afficher le texte
Code : Tout sélectionner
; Generated by AutoIt Scriptomatic
$wbemFlagReturnImmediately = 0x10
$wbemFlagForwardOnly = 0x20
$colItems = ""
$strComputer = "localhost"
$Output=""
$Output = $Output & "Computer: " & $strComputer  & @CRLF
$Output = $Output & "==========================================" & @CRLF
$objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\CIMV2")
$colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_Processor", "WQL", _
                                          $wbemFlagReturnImmediately + $wbemFlagForwardOnly)
If IsObj($colItems) then
   For $objItem In $colItems
      $Output = $Output & "AddressWidth: " & $objItem.AddressWidth & @CRLF
      $Output = $Output & "Architecture: " & $objItem.Architecture & @CRLF
      $Output = $Output & "Availability: " & $objItem.Availability & @CRLF
      $Output = $Output & "Caption: " & $objItem.Caption & @CRLF
      $Output = $Output & "ConfigManagerErrorCode: " & $objItem.ConfigManagerErrorCode & @CRLF
      $Output = $Output & "ConfigManagerUserConfig: " & $objItem.ConfigManagerUserConfig & @CRLF
      $Output = $Output & "CpuStatus: " & $objItem.CpuStatus & @CRLF
      $Output = $Output & "CreationClassName: " & $objItem.CreationClassName & @CRLF
      $Output = $Output & "CurrentClockSpeed: " & $objItem.CurrentClockSpeed & @CRLF
      $Output = $Output & "CurrentVoltage: " & $objItem.CurrentVoltage & @CRLF
      $Output = $Output & "DataWidth: " & $objItem.DataWidth & @CRLF
      $Output = $Output & "Description: " & $objItem.Description & @CRLF
      $Output = $Output & "DeviceID: " & $objItem.DeviceID & @CRLF
      $Output = $Output & "ErrorCleared: " & $objItem.ErrorCleared & @CRLF
      $Output = $Output & "ErrorDescription: " & $objItem.ErrorDescription & @CRLF
      $Output = $Output & "ExtClock: " & $objItem.ExtClock & @CRLF
      $Output = $Output & "Family: " & $objItem.Family & @CRLF
      $Output = $Output & "InstallDate: " & WMIDateStringToDate($objItem.InstallDate) & @CRLF
      $Output = $Output & "L2CacheSize: " & $objItem.L2CacheSize & @CRLF
      $Output = $Output & "L2CacheSpeed: " & $objItem.L2CacheSpeed & @CRLF
      $Output = $Output & "LastErrorCode: " & $objItem.LastErrorCode & @CRLF
      $Output = $Output & "Level: " & $objItem.Level & @CRLF
      $Output = $Output & "LoadPercentage: " & $objItem.LoadPercentage & @CRLF
      $Output = $Output & "Manufacturer: " & $objItem.Manufacturer & @CRLF
      $Output = $Output & "MaxClockSpeed: " & $objItem.MaxClockSpeed & @CRLF
      $Output = $Output & "Name: " & $objItem.Name & @CRLF
      $Output = $Output & "OtherFamilyDescription: " & $objItem.OtherFamilyDescription & @CRLF
      $Output = $Output & "PNPDeviceID: " & $objItem.PNPDeviceID & @CRLF
      $strPowerManagementCapabilities = $objItem.PowerManagementCapabilities(0)
      $Output = $Output & "PowerManagementCapabilities: " & $strPowerManagementCapabilities & @CRLF
      $Output = $Output & "PowerManagementSupported: " & $objItem.PowerManagementSupported & @CRLF
      $Output = $Output & "ProcessorId: " & $objItem.ProcessorId & @CRLF
      $Output = $Output & "ProcessorType: " & $objItem.ProcessorType & @CRLF
      $Output = $Output & "Revision: " & $objItem.Revision & @CRLF
      $Output = $Output & "Role: " & $objItem.Role & @CRLF
      $Output = $Output & "SocketDesignation: " & $objItem.SocketDesignation & @CRLF
      $Output = $Output & "Status: " & $objItem.Status & @CRLF
      $Output = $Output & "StatusInfo: " & $objItem.StatusInfo & @CRLF
      $Output = $Output & "Stepping: " & $objItem.Stepping & @CRLF
      $Output = $Output & "SystemCreationClassName: " & $objItem.SystemCreationClassName & @CRLF
      $Output = $Output & "SystemName: " & $objItem.SystemName & @CRLF
      $Output = $Output & "UniqueId: " & $objItem.UniqueId & @CRLF
      $Output = $Output & "UpgradeMethod: " & $objItem.UpgradeMethod & @CRLF
      $Output = $Output & "Version: " & $objItem.Version & @CRLF
      $Output = $Output & "VoltageCaps: " & $objItem.VoltageCaps & @CRLF
      if Msgbox(1,"WMI Output",$Output) = 2 then ExitLoop
      $Output=""
   Next
Else
   Msgbox(0,"WMI Output","No WMI Objects Found for class: " & "Win32_Processor" )
Endif
Func WMIDateStringToDate($dtmDate)
    Return (StringMid($dtmDate, 5, 2) & "/" & _
    StringMid($dtmDate, 7, 2) & "/" & StringLeft($dtmDate, 4) _
    & " " & StringMid($dtmDate, 9, 2) & ":" & StringMid($dtmDate, 11, 2) & ":" & StringMid($dtmDate,13, 2))
EndFuncAlors j'aimerais savoir si cette donnée "ProcessorId: " peut être fiable, pour ce que je veux faire.
Merci.




