Etiqueta de Volumen del Disco Duro

Prueba esto:

Declare Function GetVolumeInformation Lib "Kernel32" Alias "GetVolumeInformationA" (ByVal lpRootPathName As String, _
         ByVal lpVolumeNameBuffer As String, ByVal nVolumeNameSize As Long, lpVolumeSerialNumber As Long, _
         lpMaximumComponentLength As Long, lpFileSystemFlags As Long, ByVal lpFileSystemNameBuffer As String, _
         ByVal nFileSystemNameSize As Long) As Long

Public Function NumSerieDisco(unidad As String) As Long
    Dim numser As Long, cad1 As String, cad2 As String

    cad1 = String(255, vbNullChar)
    cad2 = String(255, vbNullChar)
    GetVolumeInformation unidad, cad1, Len(cad1), numser, 0, 0, cad2, Len(cad2)
    NumSerieDisco = numser
End Function
Private Sub Form_Load()
   MsgBox NumSerieDisco("C:"), vbInformation, "Volumen Disco"
   ' En Hexadecimal
   MsgBox Hex$(NumSerieDisco("C:")), vbInformation, "Volumen Disco"
End Sub

El número se devuelve como Long, pero si quieres lo puedes pasar a hexadecimal (así es como lo da Windows).

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s