Vous pouvez utiliser WMI (Windows Management Instrumentation) comme ceci:
Dim mos As New ManagementObjectSearcher("SELECT * FROM Win32_PhysicalMedia")
For Each mo As ManagementObject In mos.Get()
Dim serial As String = mo("SerialNumber").ToString()
Next
Bien que, je l'ai lu sur les cas où aucun numéro de série est renvoyé en utilisant WMI. Un autre moyen d'y parvenir serait de recourir à Platform Invocation Services (PInvoke).
This article inclut un téléchargement dans lequel l'auteur implémente CreateFile() et DeviceIoControl() pour extraire des informations sur le lecteur via les services Interop dans VB .NET.
Pour utiliser l'une des méthodes décrites ci-dessus, vous aurez besoin des droits ADMIN, un utilitaire qui semble contourner cela peut être trouvé here. Si vous vous sentez aventureux, le C++/Win32 source code est disponible pour vous. (Consultez le 'ReadPhysicalDriveInNTWithZeroRights()' fonction)
Ceci a été signalé comme étant de qualité médiocre. S'il vous plaît développer votre code seulement répondre à expliquer ce que le code fait. – Bugs