vb.net - serie - ver serial del disco
Obtenga el número de serie de H/D(no el número de serie de un volumen) para IDE y SATA (3)
Puede usar WMI (Windows Management Instrumentation) de esta manera:
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
Aunque, he leído sobre casos en los que no se devuelve ningún número de serie utilizando WMI. Otra forma de lograr esto sería a través de los Servicios de Invocación de Plataforma (PInvoke).
Este artículo incluye una descarga en la que el autor implementa CreateFile () y DeviceIoControl () para extraer información del disco a través de los servicios de Interop en VB .NET.
Para utilizar cualquiera de los métodos descritos anteriormente, necesitará los derechos de ADMIN, una utilidad que parece eludir esto se puede encontrar aquí . Si tiene ganas de aventura, el código fuente de C ++ / Win32 está disponible para su consulta. (Verifique la función ''ReadPhysicalDriveInNTWithZeroRights ()'')
¿Cómo puedo leer el número de serie del disco duro para las unidades IDE y SATA en VB.NET? (No quiero el número de serie del volumen).
Esta información se debe recopilar tanto para XP como para Vista si es posible sin derechos administrativos.
Aquí está el código para obtener el número de serie de HDD
Dim HDD_Serial As String
Dim hdd As New ManagementObjectSearcher("select * from Win32_DiskDrive")
For Each hd In hdd.Get
HDD_Serial = hd("SerialNumber")
MsgBox(HDD_Serial)
Next
Espero eso ayude.
Public Function getHardDiskSerialNo()
Dim serial As String
Dim hd As New ManagementObjectSearcher("SELECT * FROM Win32_PhysicalMedia")
For Each dvs As ManagementObject In hd.Get()
serial = dvs("SerialNumber").ToString()
Next
Return serial
End Function