Insistiendo en el hecho de que es imposible impedir que te copien el programa, aquí va mi idea.
Yo lo que controlo es el MAC de la maquina donde instalo el programa. Cada máquina tiene un MAC diferente así que puedes controlar si esta en el pc original o no.
Como hacerlo:
Tengo una tabla MAC con un solo registro y un campo string que se llama MiMAC. También tiene un campo IdMAC con valor 1.
Creo la siguiente función que me devolverá el MAC:
Public Function damemac() As String
Dim myWMI As Object, myObj As Object, Itm
Set myWMI = GetObject("winmgmts:\\.\root\cimv2")
Set myObj = myWMI.ExecQuery("SELECT * FROM win32_NetworkAdapterConfiguration WHERE IPEnabled = True")
For Each Itm In myObj
mac = Itm.MACAddress
Exit For
Next
damemac = mac
End Function
Después, en el formulario principal que se cargue al abrir el programa comparo el MAC obtenido con el guardado:
Private Sub Form_Open(Cancel As Integer)
dim buscado as string
dim varx as variant
buscado=damemac()
varx=dlookup("MiMAC","MAC","idMAC=1")
if varx<>buscado then
msgbox("Esta es una copia no autorizada")
docmd. Quit
Endif
end sub
Espero haber resuelto tu problema. Si es así, no dudes en valorar mi respuesta.
Hermano espero estés bien tengo un sistema que necesito vender a otros clientes, mi duda es si hago esta función impedirá que la persona a quien le venda mi sistema, no pueda plagiarlo si lo instala en otra pc, y así el lo vendería y perdería yo mi tiempo y trabajo. O mejor explicado. Como puedo impedir que se instale el mismo proyecto en otras pc. - Nepta Brito