In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Numero de serie de una memoria USB

Foro público de Xailer en español
Responder
Rich
Mensajes: 75
Registrado: Mar Mar 12, 2013 1:50 am
Contactar:

Numero de serie de una memoria USB

Mensaje por Rich »

Hola:
Alguien me podria decir como puedo leer el numero de serie de una memoria USB desde Xailer?
De antemano mil gracias.
Saludos amigos.
juanc
Mensajes: 105
Registrado: Vie Dic 14, 2007 12:15 am

Numero de serie de una memoria USB

Mensaje por juanc »

Creo que con Wmi podrias hacer algo.
Saludos Cordiales.
"Sergio Garcia Luna" <meridiano74[at]prodigy[dot]net[dot]mx> escribis en el
mensaje news:52901c41$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
> Hola:
>
> Alguien me podria decir como puedo leer el numero de serie
> de una memoria USB desde Xailer?
>
> De antemano mil gracias.
> --
> Saludos amigos.
---
Este mensaje no contiene virus ni malware porque la protección de avast! Antivirus está activa.
http://www.avast.com
Rich
Mensajes: 75
Registrado: Mar Mar 12, 2013 1:50 am
Contactar:

Numero de serie de una memoria USB

Mensaje por Rich »

Gracias Juanc.
Intento lo siguiente, pero el valor que busco (oTemp:SerialNumber ) me regresa NIl en todos los casos
y no tango la menor idea de por que. Te agradecerí­a si me puedes orientar.
Tambien vi esto en Internet, pero no se como introducirlo: ("SELECT * FROM Win32_DiskDrive WHERE InterfaceType='USB'");
METHOD Button1Click( oSender ) CLASS TForm1
LOCAL oTemp
::oServer := CreateObject( "wbemScripting.SwbemLocator" )
::oWMI := ::oServer:ConnectServer()
::oDrives := ::oWMI:ExecQuery( "SELECT * FROM Win32_PhysicalMedia" )
::oBoard := ::oWMI:ExecQuery( "SELECT * FROM Win32_BaseBoard" )
::oBios := ::oWMI:ExecQuery( "SELECT * FROM Win32_BIOS" )
altd()
FOR EACH oTemp IN ::oDrives
MsgInfo( "Serie del disco: " + Str( oTemp:SerialNumber ) )
NEXT
FOR EACH oTemp IN ::oBoard
MsgInfo( "Serie de la placa: " + Str( oTemp:SerialNumber ) )
NEXT
FOR EACH oTemp IN ::oBios
MsgInfo( "Serie de la BIOS: " + Str( oTemp:SerialNumber ) )
NEXT
RETURN Nil
Saludos amigos.
juanc
Mensajes: 105
Registrado: Vie Dic 14, 2007 12:15 am

Numero de serie de una memoria USB

Mensaje por juanc »

Hola Sergio, ojala te de un norte el siguiente codigo:
Static Function GetUSBSerial( cDrive )
Local oJob
Local cDriveNumber
Local oJobs := oWMI:Win32_LDP
//
cDrive := Upper(cDrive)
If Len( cDrive ) == 1
cDrive += ":"
EndIf
If Len(cDrive) > 2
cDrive := SubStr(cDrive,1,2)
EndIf
For Each oJob In oJobs
If cDrive == __StrToken( oJob:Dependent, 2, '"' )
cDriveNumber = SubStr( __StrToken( __StrToken( oJob:Antecedent, 2,
'"' ), 1, "," ), 7 )
oWMI:cDriveNumber := cDriveNumber
Return GetSerial( cDriveNumber )
EndIf
Next
Return ""
Static Function GetSerial( cDriveNumber )
Local oDrive
Local cSerial:= ""
Local aDrives:= oWMI:Win32_DD
//
For Each oDrive In aDrives
If oDrive:Name == ".PHYSICALDRIVE" + cDriveNumber .and.
oDrive:InterfaceType == "USB"
cSerial := oDrive:PNPDeviceID
cSerial := SubStr( cSerial, 1, Rat( "&", cSerial ) - 1 )
cSerial := SubStr( cSerial, Rat( "&", cSerial ) + 1 )
If At( "", cSerial ) != 0
cSerial = SubStr( cSerial, At( "", cSerial ) + 1 )
EndIf
Return cSerial
EndIF
Next
Saludos Cordiales.
"Sergio Garcia Luna" <meridiano74[at]prodigy[dot]net[dot]mx> escribis en el
mensaje news:5294f2c8$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
> Gracias Juanc.
>
> Intento lo siguiente, pero el valor que busco
> (oTemp:SerialNumber ) me regresa NIl en todos los casos
> y no tango la menor idea de por que. Te agradecerma si me
> puedes orientar.
>
> Tambien vi esto en Internet, pero no se como introducirlo: ("SELECT * FROM
> Win32_DiskDrive WHERE
> InterfaceType='USB'");
>
>
> METHOD Button1Click( oSender ) CLASS TForm1
>
> LOCAL oTemp
>
> ::oServer := CreateObject( "wbemScripting.SwbemLocator"
> )
> ::oWMI := ::oServer:ConnectServer()
> ::oDrives := ::oWMI:ExecQuery( "SELECT * FROM
> Win32_PhysicalMedia" )
> ::oBoard := ::oWMI:ExecQuery( "SELECT * FROM
> Win32_BaseBoard" )
> ::oBios := ::oWMI:ExecQuery( "SELECT * FROM Win32_BIOS"
> )
>
> altd()
> FOR EACH oTemp IN ::oDrives
> MsgInfo( "Serie del disco: " + Str( oTemp:SerialNumber
> ) )
> NEXT
>
> FOR EACH oTemp IN ::oBoard
> MsgInfo( "Serie de la placa: " + Str(
> oTemp:SerialNumber ) )
> NEXT
>
> FOR EACH oTemp IN ::oBios
> MsgInfo( "Serie de la BIOS: " + Str( oTemp:SerialNumber
> ) )
> NEXT
>
> RETURN Nil
> --
> Saludos amigos.
---
Este mensaje no contiene virus ni malware porque la protección de avast! Antivirus está activa.
http://www.avast.com
Rich
Mensajes: 75
Registrado: Mar Mar 12, 2013 1:50 am
Contactar:

Numero de serie de una memoria USB

Mensaje por Rich »

Juanc te agradezco tu amable ayuda.
Voy a probar con el código que me proporcionas.
Saludos amigos.
Responder