Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/10/2004, 00:08
Avatar de marcos1979
marcos1979
 
Fecha de Ingreso: abril-2004
Ubicación: 62º 06' 18" O / 33º 07' 47" S
Mensajes: 331
Antigüedad: 20 años, 8 meses
Puntos: 1
Pregunta Obtener el nº de serie del disco duro en VB 6

Eso, como puedo obtener el número de serie del disco duro???
El numero que quiero es el del disco físico y no el del volumen.
Con esto se obtiene el numero de serie del volumen pero yo quiero el del disco, ese que viene impreso en la etiqueta del disco... se entiende???
Se que hay programas que te lo dan por lo que se puede obtener... pero como???
Me canse de buscar y no encuentro nada... solo preguntas como esta

Aca va el codigo para sacar el numero de serie del VOLUMEN:

Private Declare Function GetVolumeSerialNumber 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 VolumeSerialNumber(ByVal RootPath As String) As String
Dim VolLabel As String
Dim VolSize As Long
Dim Serial As Long
Dim MaxLen As Long
Dim Flags As Long
Dim Name As String
Dim NameSize As Long
Dim s As String
If GetVolumeSerialNumber(RootPath, VolLabel, VolSize, Serial, MaxLen, Flags, Name, NameSize) Then
'Crea una cadena de 8 caracteres
s = Format(Hex(Serial), "00000000")
'Agregar el caracter '-' entre los 4 primeros caracteres y los últimos 4 caracteres
VolumeSerialNumber = Left(s, 4) + "-" + Right(s, 4)
Else
'Si la llamada a la función API falla debe retornar un número de serie lleno de ceros
VolumeSerialNumber = "0000-0000"
End If
End Function
Private Sub Command1_Click()
MsgBox VolumeSerialNumber("C:\") 'Muestra el numero de serie de un disco duro
End Sub


Gracias