La Web del Programador: Comunidad de Programadores
 
    Pregunta:  43539 - COMO LEER EL SERIAL INTERNO DE LA BOARD O EL DIS. DURO
Autor:  JORGE BENDECK
POR RAZONES DE PIRATERÍA CREO QUE LEER EL SERIAL DE LA BOARD O EL DISCO DURO DE UN EQUIPO DONDE CORRA UN PROGRAMA. SERÍA UNA FORMA PARA EVITAR SU PIRATERÍA PORQUE LIMITARÍAMOS EL SOTFWARE A ESE EQUIPO. ME PODRÍAS DECIR COMO HACERLO PARA CLIPPER 5.2
EN SU DEFECTO SINO PUEDO, TIENES OTRA HERRAMIENTA QUIE ME PUEDA AYUDAR.

GRACIAS POR TU ATENCION.

  Respuesta:  Oscar Valdez
Yo uso hace tiempo una la funcion DIRECTORY(). Esta funcion crea una matriz de informacion de directorios y ficheros. Si a esto le agregas el atributo V busca la etiqueta de volumen del DOS y excluye el resto de los ficheros. La posicion de la submatriz en la posicion 3 te trae la fecha de creacion del volumen y la posicion 4 la hora. Con esto te daras cuenta que imposible que dos computadoras creen el volumen del disco rigido el mismo dia y a la misma hora.
Te paso la linea de programa que uso:
TABLA := DIRECTORY("C:\","V")
ACCESO := STRTRAN((STRTRAN((DTOC(TABLA[1,3]+TABLA[1,4]),"/")),":")

Suponiendo que el volumen se creo el 01/08/2005 a las 18:20:05
ACCESO = 01082005182005

Solo falta que encriptes este dato y lo chequees cada ves que ingresen al porgrama.
Espero que te sirva.

  Respuesta:  Oscar Calagua
Hace mucho tiempo que no programo en Clipper pero creo recordar que la version 5.3 tiene una funcion adicional sys que permite tener acceso a informacion de la pc donde tienes corriendo el programa, con lo cual te da la informacion del disco y Nro de serie. Revisa las actualizaciones de Clipper.