Option Explicit
\'Declaración de la función, sólo está en el API de 32 bits
\'
Private 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
Private Sub Command1_Click()
Dim unidad As String
Dim cad1 As String * 256
Dim cad2 As String * 256
Dim numSerie As Long
Dim longitud As Long
Dim flag As Long
unidad = \"C:\\\"
Call GetVolumeInformation(unidad, cad1, 256, numSerie, longitud, flag, cad2, 256)
MsgBox \"El Nº de serie de la unidad \" & unidad & \" es \" & numSerie
End Sub