Numero serie de unidad USB
Publicado por Adolfo (242 intervenciones) el 17/11/2016 16:05:02
Hola a todos:
Estoy buscando codigo para poder obtener el numero de serie el fabricante de una unidad USB, hasta ahorita puedo obtener el Vol Serial Number pero este número cambia al formatear la unidad es decir no me sirve, aqui el codigo que utilizo:
///primero agregar a global external function la siguiente API de windows:
FUNCTION LongLong VolSerialNum(String lpRootPathName,String pVolumeNameBuffer,ULong nVolumeNameSize,REF LongLong lpVolumeSerialNumber,Long lpMaximumComponentLength,Long lpFileSystemFlags,String lpFileSystemNameBuffer,Long nFileSystemNameSize) LIBRARY "kernel32.dll" ALIAS FOR "GetVolumeInformationA;Ansi"
//Luego codigificamos lo siguiente:
String ls_num_serie, buffer1, buffer2
Long longitud, flag
LongLong numSerie
numSerie = 0
SetNull(buffer1)
SetNull(buffer2)
VolSerialNum(par_unidad, buffer1, 0, numSerie, longitud, flag, buffer2, 256)
ls_num_serie = String(numSerie)
Return Trim(ls_num_serie)
//La imagen explica un poco mejor:

Estoy buscando codigo para poder obtener el numero de serie el fabricante de una unidad USB, hasta ahorita puedo obtener el Vol Serial Number pero este número cambia al formatear la unidad es decir no me sirve, aqui el codigo que utilizo:
///primero agregar a global external function la siguiente API de windows:
FUNCTION LongLong VolSerialNum(String lpRootPathName,String pVolumeNameBuffer,ULong nVolumeNameSize,REF LongLong lpVolumeSerialNumber,Long lpMaximumComponentLength,Long lpFileSystemFlags,String lpFileSystemNameBuffer,Long nFileSystemNameSize) LIBRARY "kernel32.dll" ALIAS FOR "GetVolumeInformationA;Ansi"
//Luego codigificamos lo siguiente:
String ls_num_serie, buffer1, buffer2
Long longitud, flag
LongLong numSerie
numSerie = 0
SetNull(buffer1)
SetNull(buffer2)
VolSerialNum(par_unidad, buffer1, 0, numSerie, longitud, flag, buffer2, 256)
ls_num_serie = String(numSerie)
Return Trim(ls_num_serie)
//La imagen explica un poco mejor:

Valora esta pregunta


0