RE:API N° de registro de unidades
Te adjunto 2 formas de hacerlo:
1)
ofso = createobject("Scripting.FileSystemObject")
odrive = ofso.getdrive("C")
? "Nro de serial : "
?? odrive.serialnumber
? "Volumen de la unidad : "
?? odrive.volumename
? "Tamaño : "
?? odrive.totalsize
Debes tener instalado WSH.
2)
NNumSerie=ISDISKIN('C:\', .T.)
Messagebox( "Serie -> Volumen: "+(NNumSerie) )
***********************************************************
* ISDISKIN : Devuelve .T. o .F., si está lista la *disquetera o no.
* PARAMETROS: Pasar 'A:\' para mirar la disquetera normal. *El 2º parámetro hace que
* devuelva el número de serie.
************************************************************
FUNCTION ISDISKIN
PARAMETERS P_RootPath, P_NUMSERIE
LOCAL NPARAM, CDISCO
NPARAM=PARAMETERS()
CDISCO=UPPER(LEFT(P_RootPath,2))
DECLARE GetVolumeInformation IN WIN32API ;
STRING, STRING @, ;
INTEGER, INTEGER @, ;
INTEGER @, INTEGER @, ;
STRING @, INTEGER
m.VolName=SPACE(255)
m.VolNameLen=LEN(m.VolName)
m.VolumeSerialNumber=0
m.MaxFileNameLen=0
m.FileSystemFlags=0
m.FileSystemName=SPACE(255)
m.FsNameLen=LEN(m.FileSystemName)
=GetVolumeInformation(P_RootPath, ;
@m.VolName, m.VolNameLen, ;
@m.VolumeSerialNumber, ;
@m.MaxFileNameLen, ;
@m.FileSystemFlags, ;
@m.FileSystemName, m.FsNameLen)
IF CDISCO='A:'
%0