Sobre Diskette

01/07/2003 - 18:12 por Jaime Durbahn | Informe spam
Hola amigos.

Mi consulta es la sig.

1.- Con respecto a los diskettes, existe alguna serie que distinga un
diskette de otro?

2.- En el caso de ser asi, como puedo capturar esa serie?
 

Leer las respuestas

#1 Softjaen
01/07/2003 - 18:53 | Informe spam
"Jaime Durbahn" escribió:

1.- Con respecto a los diskettes, existe alguna serie que distinga un
diskette de otro?




Hola, Jaime:

Si dos discos son distintos, la etiqueta (label) del disco, el volumen,
distinguirá un disco del otro. Aparte, el número de serie del volumen
también puede servir para distinguir dos discos.

2.- En el caso de ser asi, como puedo capturar esa serie?



Inserta un «CommandButton» y pega el siguiente código en la sección
«Declaraciones» del formulario de inicio. Lo único que tienes que hacer es
recuperar el valor devuelto por el parámetro «lpVolumeNameBuffer» de la
función API «GetVolumeInformation» para la etiqueta del disco, y el valor
devuelto por «lpVolumeSerialNumber» para el número de serie del volumen:

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 lVolumen As Long, dl As Long
Dim sEtiqueta As String, sTipoArchivo As String

' Iniciamos las cadenas para pasárselas
' a la función API
sEtiqueta = String$(255, Chr$(0))
sTipoArchivo = String$(255, Chr$(0))

dl = GetVolumeInformation("A:\", sEtiqueta, Len(sEtiqueta), _
lVolumen, 0&, 0&, sTipoArchivo, Len(sTipoArchivo))

MsgBox "Nombre de la etiqueta: " & sEtiqueta
MsgBox "Numero de Serie de la unidad A: " & Abs(lVolumen)

End Sub

Un saludo

Enrique Martínez
[MS MVP - VB]

Preguntas similares