Seguridad en VFP (evitar copias)

Hola alfredo, que bueno encontrarte!
Soy programador de mediano nivel en Visual FoxPro, acabo de desarrollar un programa para un familiar, y creo que el quiere venderlo, no quiero que gane dinero con mi trabajo...
¿Puedes tu ayudarme a crear algo para que mi primo no copie mi programa?
Muchas gracias y ojala puedas ayudarme.
Saludos. DIANA - Caracas

1 Respuesta

Respuesta
1
Si te puedo ayudar, pero dame chance a que te haga una rutinita en donde se valide el serial del disco duro y así el sistema solo funcione en un disco duro determinado. Espera un poco mientras te lo hago.
Alfredo García
Director de venenet.com
Nota: También soy de Caracas.
Gracias Alfredo... ojala tengas tiempito de hacer la rutina y enviármela... me alegra que me hayas contestado, y sobre todo que seas paisanito =) .
Estaré pendiente de tu respuesta, y luego la valoro, ¿si?.
Saludos nuevamente. DIANA.
El código invoca la api de windows para obtener el serial del disco y otras cosas más...
A continuación:
*!* Declaración
Declare Integer GetVolumeInformation in WIN32API ;
String @lpRootPathName, ;
String @lpVolumeNameBuffer, ;
Integer nVolumeNameSize, ;
Integer @lpVolumeSerialNumber, ;
Integer @lpMaximumComponentLength, ;
Integer @lpFileSystemFlags, ;
String @lpFileSystemNameBuffer, ;
Integer nFileSystemNameSize
*!* Proceso
cString = ""
cRoot = "C:\"
cVolumeName = Space(256)
nVolumeNameSize = 256
nVolumeSerial = 0
nMaxCompLength = 256
nFileSysFlag = 0
cFileSysNameBuf = Space(256)
nFileSysNameSize= 256
nReturn = 0
nReturn = GetVolumeInformation(@cRoot, @cVolumeName, nVolumeNameSize, ;
@nVolumeSerial, @nMaxCompLength, ;
@nFileSysFlag, @cFileSysNameBuf, ;
nFileSysNameSize)
If nReturn >= 0
If nVolumeSerial < 0
nVolumeSerial = 4294967296 + nVolumeSerial && 2^32 = 4294967296
EndIf
cString = "Drive name: " + AllTrim(cRoot) + Chr(13) + ;
"Vol name:" + ;
Left(AllTrim(cVolumeName), Len(AllTrim(cVolumeName)) -1) + Chr(13) +;
"Max #/chars in vol name: " + ;
AllTrim(Str(nVolumeNameSize)) + Chr(13) + ;
"Vol Serial #: " + AllTrim(Str(nVolumeSerial)) + Chr(13) + ;
"Max #/chars in dir/file names: " + ;
AllTrim(Str(nMaxCompLength)) + Chr(13) + ;
"File Sys Flags: " + AllTrim(Str(nFileSysFlag)) + Chr(13) + ;
"File Sys type: " + ;
Left(AllTrim(cFileSysNameBuf),Len(AllTrim(cFileSysNameBuf))-1)+ ;
Chr(13) + ;
"File Sys Name Size: " + AllTrim(Str(nFileSysNameSize))
EndIf
*!* Mensaje que te muestra la información. Allí podrás ver, entre el serial del disco, la etiqueta, el tipo de sistema de archivos, etc.
MessageBox(cString, 64, "Information")
Hola Alfredo... la rutina que me enviaste esta completísima, ya la ejecuté dentro de mi programa y aunque aun no he podido probarla en la practica se que me va a servir de mucho...
Mil gracias por la rutina y por la atención que tuviste conmigo al enviármela :)
Ademas te cuento que visite tu página, me agrado y en caso de necesitar una página, se en donde encontrarla :)
Saludos - DIANA.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas