Visual Basic - GetVolumeInformation no funciona

Life is soft - evento anual de software empresarial
 
Vista:

GetVolumeInformation no funciona

Publicado por Nelson Miranda (2 intervenciones) el 20/09/2004 23:35:07
Estoy usando la API "GetVolumeInformation", la cual me regresa como resultado el número de serie del HD, el problema es que cuando la llamo me regresa el número cero y ademas de ello el parámetro de referencia no regresa nada tampoco. La función que he escrito es la siguiente:

Function ObtenerVolHD()
'Numero serie de HD
Dim A As String
Dim VolumeNameBuffer As String * 256
Dim tamaVolume As Long
Dim SerieNum As Long
Dim Maximo As Long
Dim Band As Long
Dim SystemaBuf As Long
Dim TamNameSize As Long
Dim v As Long
Dim Etiqueta As String

A = "C:\"
v = GetVolumeInformation(A, VolumeNameBuffer, tamaVolume,
SerieNum, Maximo, Band, SystemaBuf, TamNameSize)

ObtenerVolHD = (Left(Hex(SerieNum), 4) & "-" & _
Right(Hex(SerieNum), 4))
End Function

Cual es el problema?

Les agradezco de antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:GetVolumeInformation no funciona

Publicado por miguel (1042 intervenciones) el 20/09/2004 23:56:48
Pruebalo con esto:
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 Const MAX_FILENAME_LEN = 256
Public Function DriveSerial(ByVal sDrv As String) As Long
Dim RetVal As Long
Dim str As String * MAX_FILENAME_LEN
Dim str2 As String * MAX_FILENAME_LEN
Dim a As Long
Dim b As Long
Call GetVolumeInformation(sDrv & ":\", str, MAX_FILENAME_LEN, RetVal, a, b, str2, MAX_FILENAME_LEN)
DriveSerial = RetVal
End Function
Private Sub Form_Load()
MsgBox "Serial of drive C is " & DriveSerial("C")
End Sub
si quieres mas informacion:
http://www.mentalis.org/apilist/GetVolumeInformation.shtml
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:GetVolumeInformation no funciona

Publicado por Ruri (583 intervenciones) el 21/09/2004 03:34:09
En la web del guille tenés un ejemplo

http://elguille.info/vb/VB_API01.HTM#api004

Saludos Ruri
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar