La Web del Programador: Comunidad de Programadores
 
    Pregunta:  540 - NUMERO DE SERIE
Autor:  Cesar Guillen O
Estoy elaborando una aplicacion en FoxPro 2.5 y necesito saber el numero de serie del disco duro en donde se instale la aplicacion.

Agradeceria mucho si alguien me puede ayudar a capturar este numero y si es posible el tipo de FAT del disco.


  Respuesta:  manuel betancur
este programa te da el numero de serie
espero te sirva

lofso = CREATEOBJECT("scripting.filesystemobject")
lcserialnumber=lofso.drives("c").serialnumber
MESSAGEBOX(lcserialnumber)

suerte

  Respuesta:  Daniel Diaz
Maestro, yo lo que hice, fue una funcion muy cortita en DOS, por ahí te puede llegar a servir.

Function CaptNroSerie
** Simplemente ejecuto un comando de DOS y
** que se guarde en archivo texto.
Run Vol > Cla.Dat
** Asigno ese archivo texto a un Memo
NroSerie = MemoRead( "Cla.Dat" )
** Saco la partesita de la linea que me interesa
NroSerie = Right( AllTrim( MemoLine( NroSerie, 50, 3 )), 9 )
** La transformo a numerico y ya esta!!!
NroSerie = Transform( NroSerie, "@B" )
Run Del Cla.Dat
Return( NroSerie)

Un amigo de Dolores...

  Respuesta:  Willy Cueto
Tenia la misma curiosidad, esto para evitar la piratería, lo que hice fue lo siguiente.
Utilizando las instrucciones de MS-DOS, ya sea el DIR o VOL muestra el número de serie deseado, y siempre sale al final, esta información puedes enviarla no a pantalla sino a un archivo de texto con eol nombre que tu desees, Ej. DIR >SERIE.TXT, con el anterior conmando envías toda la información al archivo SERIE.TXT.
Ahora utilizando el lenguaje Turbo C, puedes leer ese archivo de texto, luego cada línea del archivo almacenas en una variable (puede ser una sola), de cada línea guardas en una variable solo las palabras, luego cuando te encuentres con un numero lo guardas en otro archivo, así el número de código está en un archivo, y este puedes abrirlo desde utilizarlo en FoxPro, pero para q te sirva más aún te envió el código en Turbo C.

etiqueta(char uni[])
{
int p,k,j,i=0;
char vol[50],clave[20];
FILE *arch;
clrscr();
system(uni);
arch=fopen("VOLU","r");
if (arch==NULL)
Mal();
fgets(vol,50,arch);
fgets(vol,50,arch);
fgets(vol,50,arch);
p=strlen(vol);
k=p;
while(vol[k]!=' ')
k--;
k++;
for(j=k;j<p;j++)
{
clave[i]=vol[k];
k++; i++; }
clave[i-1]=0;
fclose(arch);
arch=fopen("VOLU","w+");
if(arch==NULL) Mal();
fputs(clave,arch);
fclose(arch);
system("DEL VOLU");
return(clave);
}

Atte. Willy

  Respuesta:  jhonny james bolivar torres
Querido Cesar no se si lo que te voy a decir sirba pra vfp 6 pero a mi me funciono perfectamente para clipper 5.2 en d.o.s y es un funcion hecha en lenguaje c. que complida queda como un archivo de extención .obj y se encadenaba a la compilación, despues de esto ya estaba hecho utilizo la funcion de leer el serial del disco volserial(c:) y la funcion tanbien de cambiar el serial del disco, si esto te sirve de algo enviame un correo a mi dirección y de te lo envio ,

posdata : ami me funciono perfectamente con la antipirateria y no tuve problemas con registro de windows

cordialmente jhonny

  Respuesta:  Raul
UTILIZA LOS COMANDOS SYS(2020) o SYS (2022)
TE PUEDEN AYUDAR EN LO QUE NECESITAS

  Respuesta:  Decio Rodríguez
Por la largada de la respuesta, la hemos incluido en resp540.txt