! 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))

Preguntas similare

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))


Respuesta Responder a este mensaje
#2 santiago
21/04/2004 - 02:12 | Informe spam
que grupo seria el mas indicado para postear esta duda?...


"Angel. E. Ruiz. Pastor" escribió en el mensaje
news:
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))
>
>


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida