Salut J'utilise ce code pour générer la signature de la machine. Mais il faut du temps pour l'exécuter. Je me demande pourquoi c'est si lent? Une méthode plus rapide est-elle recommandée?Une méthode plus rapide pour obtenir le numéro de série du volume?
Public Shared Function DriveSN(ByVal DriveLetter As String) As String
Dim disk As ManagementObject = New ManagementObject(String.Format("Win32_Logicaldisk='{0}'", DriveLetter))
Dim VolumeName As String = disk.Properties("VolumeName").Value.ToString()
Dim SerialNumber As String = disk.Properties("VolumeSerialnumber").Value.ToString()
Return SerialNumber.Insert(4, "-")
End Function
Private Shared msig As String = Nothing
Public Shared Function MachineSignature() As String
If msig Is Nothing Then
Dim list As New List(Of String)
For Each d As DriveInfo In DriveInfo.GetDrives()
If (d.IsReady) Then
list.Add(DriveSN(d.Name.Substring(0, 2)))
End If
Next
msig = String.Join(" & ", list.ToArray())
End If
Return msig
End Function
Comment avez-vous découvert que c'était le problème? –
Passage par le débogueur. Le "IsReady" vérification pour d'autres types de lecteurs (disquette, CD-ROM) peut prendre une pause notable. Rien de mystérieux ici. – Sake