Bonjour,

Pour authentifier une machine, j'ai pensé à plusieurs identifiants :
- Mac Address : le pb est que la machine doit être connectée
- le serial du disque dur : le pb est que cette solution n'est pas compatible avec l'utilisation d'un disque dur externe et c'est un organe susceptible d'être remplacé dans la vie d'un ordinateur
- le ProcessorId

Pour ce dernier choix, j'ai trouvé en effet le code suivant sur le NEt :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 Public Function GetProcessorRef() As String
 
        Dim ProcClass As New System.Management.ManagementClass("Win32_Processor")
        Dim Procs As ManagementObjectCollection = ProcClass.GetInstances
        Dim Proc As ManagementObject
        For Each Proc In Procs
            GetProcessorRef = Proc("ProcessorId").ToString
            Exit For
        Next Proc
 
    End Function
J'ai bien trouvé la doc MSDN sur le ProcessorId ainsi défini :

Processor information that describes the processor features. For an x86 class CPU, the field format depends on the processor support of the CPUID instruction. If the instruction is supported, the property contains 2 (two) DWORD formatted values. The first is an offset of 08h-0Bh, which is the EAX value that a CPUID instruction returns with input EAX set to 1. The second is an offset of 0Ch-0Fh, which is the EDX value that the instruction returns. Only the first two bytes of the property are significant and contain the contents of the DX register at CPU reset—all others are set to 0 (zero), and the contents are in DWORD format.
Cette définition est un peu obscure pour moi. Je n'arrive pas à savoir si cette propriété est un identifiant unique pour chaque ordinateur (c'est-à-dire si on A deux valeurs pour 2 ordinateurs identiques équipés du même processeur)

Quelqu'un en sait-il plus ?
Et avez-vous une autre suggestion que le ProcessorId si celui-ci n'est pas approprié ?