! Problema con API's !

21/04/2004 - 00:47 por santiago | Informe spam
Siguiendo un ejemplo, quiero obtener el numero de serie de la unidad C:
haciendo una llamada a la Api.
El Problema es que el nombre del volumen me lo devuelve correctamente pero
no puedo lograr que me
devuelva el numero de serie.
Este es el sencillo codigo. Estare obviando algo?..desde ya muchas
gracias.

Public Declare Function GetVolumeInformation Lib "Kernel32" Alias
"GetVolumeInformationA" _
(ByVal lpRootPathName As String, _
ByVal lpVolumeNameBuffer As String, _
ByVal nVolumeNameSize As Long, _
ByVal lpVolumeSerialNumber As Long, _
ByVal lpMaximumComponentLength As Long, _
ByVal lpFileSystemFlags As Long, ByVal _
lpFileSystemNameBuffer As String, _
ByVal nFileSystemNameSize As Long) As Long

Dim SerialNum As Long
Dim Res As Long
Dim Temp1 As String
Dim Temp2 As String
Temp1 = Space(10)
Temp2 = Space(10)
Res = GetVolumeInformation("c:\", Temp1, Len(Temp1), SerialNum, 0, 0, Temp2,
Len(Temp2))
 

Leer las respuestas

#1 Angel. E. Ruiz. Pastor
21/04/2004 - 01:55 | Informe spam
Estimado Santiago,



Public Declare Function GetVolumeInformation Lib "Kernel32"
Alias"GetVolumeInformationA" _

(ByVal lpRootPathName As String, _

ByVal lpVolumeNameBuffer As String, _

ByVal nVolumeNameSize As Long, _

ByVal lpVolumeSerialNumber As Long, _

ByVal lpMaximumComponentLength As Long, _

ByVal lpFileSystemFlags As Long, ByVal _

lpFileSystemNameBuffer As String, _

ByVal nFileSystemNameSize As Long) As Long



Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click

Dim SerialNum As Long

Dim Res As Long

Dim Temp1 As String

Dim Temp2 As String

Temp1 = Space(10)

Temp2 = Space(10)

Res = GetVolumeInformation("c:\", Temp1, Len(Temp1), SerialNum, 0, 0,
Temp2,Len(Temp2))

MsgBox(Res)

End Sub
Saludos cordiales,
Ángel Ruiz
[MS MVP - VB .NET]
Caracas - Venezuela

"El conocimiento es un bien, que crece a medida que se comparte"



NOTA. Por favor, las preguntas y comentarios en los grupos, así nos
beneficiamos todos.




"santiago" wrote in message
news:%
Siguiendo un ejemplo, quiero obtener el numero de serie de la unidad C:
haciendo una llamada a la Api.
El Problema es que el nombre del volumen me lo devuelve correctamente pero
no puedo lograr que me
devuelva el numero de serie.
Este es el sencillo codigo. Estare obviando algo?..desde ya muchas
gracias.

Public Declare Function GetVolumeInformation Lib "Kernel32" Alias
"GetVolumeInformationA" _
(ByVal lpRootPathName As String, _
ByVal lpVolumeNameBuffer As String, _
ByVal nVolumeNameSize As Long, _
ByVal lpVolumeSerialNumber As Long, _
ByVal lpMaximumComponentLength As Long, _
ByVal lpFileSystemFlags As Long, ByVal _
lpFileSystemNameBuffer As String, _
ByVal nFileSystemNameSize As Long) As Long

Dim SerialNum As Long
Dim Res As Long
Dim Temp1 As String
Dim Temp2 As String
Temp1 = Space(10)
Temp2 = Space(10)
Res = GetVolumeInformation("c:\", Temp1, Len(Temp1), SerialNum, 0, 0,


Temp2,
Len(Temp2))


Preguntas similares