'------------------------------------- 'Form de prueba para leer la etiqueta y el número de serie de un disco '------------------------------------- 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 lpVolumeNameFuffer 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() 'Acción Dim lVSN As Long, n As Long, s1 As String, s2 As String Dim unidad As String Dim sTmp As String On Local Error Resume Next 'Se debe especificar el directorio raiz unidad=Trim$(Text1) 'Reservar espacio para las cadenas que se pasar n al API s1=String$(255,Chr$(0))) s2=String$(255,Chr$(0))) n=GetVolumeInformation(unidad,s1,Len(s1),lVSN,0,0,s2,Len(s2)) 's1 ser  la etiqueta del volumen 'lVSN tendrá el valor del Volume Serial Number (n£mero de serie del volumen) 's2 el tipo de archivos : FAT, etc. 'Convertirlo a hexadecimal para mostrarlo como en el Dir. sTmp=Hex$(lVSN) Label(0)=s1 Label(1)=Left$(sTmp,4) & "-" & Right$(sTmp,4) Label(2)=s2 End Sub Private Sub command2_Click() Unload Me End End Sub Private Sub Form_Unload(Cancel As Integer) 'Asegurarnos de "liberar" la memoria. Set Form1=Nothing End Sub