Foros del Web » Programación para mayores de 30 ;) » Programación General »

Leer el nº de serie del HD con VB

Estas en el tema de Leer el nº de serie del HD con VB en el foro de Programación General en Foros del Web. hola gente, pues eso ni mas ni menos si alquien sabe como se hace o encontro algun control para la aplicacion que lo comente. gracias ...
  #1 (permalink)  
Antiguo 23/02/2004, 17:54
 
Fecha de Ingreso: marzo-2002
Ubicación: Mar del Plata
Mensajes: 145
Antigüedad: 22 años, 1 mes
Puntos: 0
Leer el nº de serie del HD con VB

hola gente, pues eso ni mas ni menos si alquien sabe como se hace o encontro algun control para la aplicacion que lo comente.
gracias
lucho
  #2 (permalink)  
Antiguo 24/02/2004, 02:44
 
Fecha de Ingreso: febrero-2004
Ubicación: U.S.A.
Mensajes: 7
Antigüedad: 20 años, 2 meses
Puntos: 0
'Este es un ejemplo de un form con un cuadro de Texto en el que se introduce la Unidad por ej. C:\

'Label3(0) muestra la Etiqueta del volumen
'Label3(1) muestra el num. de serie del volumen
'Label3(2) muestra el tipo de sistema de archivos

Hay dos botones Command1 (Mostrar) y Command2 (Salir)

Option Explicit

'Declaración de la función, sólo está en la 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()
'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)

Label3(0) = s1
Label3(1) = Left$(sTmp, 4) & "-" & Right$(sTmp, 4)
Label3(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
  #3 (permalink)  
Antiguo 24/02/2004, 17:18
 
Fecha de Ingreso: marzo-2002
Ubicación: Mar del Plata
Mensajes: 145
Antigüedad: 22 años, 1 mes
Puntos: 0
gracias por el ejemplo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:47.