Leer serial disco duro

02/06/2004 - 22:41 por Claudio | Informe spam
Necesito leer el serial del disco duro, bajo una rutina en
MsAccess 2.0 (16bit), al tratar de hacerlo con el objeto
GetVolumeInformation en el Kernel da error y con kernel32
no funciona ya que MsAccess 2.0 no es de 32 bits. Que
rutina puedo emplear y en cual DLL.
Gracias
 

Leer las respuestas

#1 Fernando Fuentes
01/07/2004 - 06:36 | Informe spam
Hola Claudio

Yo uso esta funcion y "casi" siempre funciona:


Private Declare Function GetVolumeSerialNumber Lib "kernel32.dll" 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
'Create an 8 character string
s = Format(Hex(Serial), "00000000")
'Adds the '-' between the first 4 characters and the last 4
characters
VolumeSerialNumber = Left(s, 4) + "-" + Right(s, 4)
Else
'If the call to API function fails the function returns a zero
serial number
VolumeSerialNumber = "0000-0000"
End If
End Function




"Claudio" escribió en el mensaje
news:1752c01c448e2$05cdd200$
Necesito leer el serial del disco duro, bajo una rutina en
MsAccess 2.0 (16bit), al tratar de hacerlo con el objeto
GetVolumeInformation en el Kernel da error y con kernel32
no funciona ya que MsAccess 2.0 no es de 32 bits. Que
rutina puedo emplear y en cual DLL.
Gracias

Preguntas similares