Hola,
Estoy creando una aplicación en la que me gustaria que al cabo de 30 dias expirase y no se permitiese su uso.
¿Como se puede hacer para que si al cabo de 30 dias si quieres seguir usandolo tengas q volver a pedirlo?
He probado algunas cosas pero simplemente con volverlo a copiar y ejecutar el original se vuelve a permitir.
¿Alguna idea?
Mi intención es que al que tengo que dar la aplicación no se quede con ella de por vida. Seguro que alguna vez os ha pasado.
¿Alguna idea?
Gracias a todos
puedes guardar la fecha del primer inicio en el registro, y cuando vuelvas a inciar el programa que saque la fecha y le reste los dias de la fecha actual, en caso de que sean 30 pues ya sabes XD
pero si le cambian la fecha a la pc puede seguir ejecutandose
puedes hacer un Dword en el registro de windows(REGEDIT) en el cual haya un contador y que cada dia le sume un numero a este valor. y listo.
EJ:
tienes el el regedit 20/03/2007,1
la fecha es para que si es un dia diferente le sume al 1 otro 1
'aqui code para leer desde el registro y guardarlo en variable(variable)
if mid(variable,1,10)<>date then
variable=date & mid(variable,11,1) + 1
'code pra guardar el el registro
end if
algo asi pude hacer para tu programa.
Una cosa, yo estoy trabajando en un modulo para hacer aplicaciones trial... exactamente que quieres hacer?
Quieres que tu programa dure 30 dias y luego pida un serial para desbloquear? O quieres que pasado 30 dias deje de funcionar?
Saludos!!
Si estas creando una aplicacion Online (osea q use internet) entons suficiente con guardar la fecha del primer uso en el registro de windows, claro q cifrado para darle algo complejidad, las fechas la consultas via web en cualquier servidor que te da la fecha y hora mundial UTC (Tiempo Universal Coordinado) . y listo. ;D
lo que yo haria es guardar el avance dia a dia y en forma cifrada en un archivo que lo renombraria a un DLL, eso si el programa dejaria de funcionar si en su directorio no encuentra ese archivo para casos en que se borre a proposito este archivo, por que eso de guardar datos en el registro no funcionaria si una PC esta congelada o freezada, bueno es una idea
Gracias a todos por vuestra colaboración.
MadAntrax. Lo que me gustaria es justo lo que estas haciendo. Un modulo que convierta mi aplicación en un trial de 30 dias por ejemplo, y luego no sea válido.
¿Puedes informarme sobre ello?
Lo de que pida un serial o sea necesario bajarte otro es algo en lo que no habia pensado.
Habia visto una serie de aplicaciones trial en las que decian que expiraba a los 30 dias y al llegar a la fecha dejaba de funcionar, pero con volverlo a instalar llegaba. Pensaba en el medio de resolver esto.
Gracias a todos por participar. Espero que se logre realizar esta proteccion trial.
Una vez mas, gracias
y no se podria hacer que alcabo de X horas en ejecucion el programa este expirara???
estoy creando lo de k expire pero con un cronometro de tiempo, es decir que por ejemplo a las 200 horas de uso pida serial, lo k e echo es meter un cronometro mientras se ejecuta el trial y cuando cierras el programa guarda el tiempo que lleva en diferentes archivos de texto. Ahora tengo que hacer que continue por donde iva... cuando lo acabe pondre el code
Para q cntinue por donde iba guarda ese dato en el registro o en algun archivo... claro q una vez se conozca el metodo q usa sera bastante facil usar el programa eternamente
tengo un pekeño problema con el code, cuando ago que carge el tiempo guardado del archivo de texto a un text box me carga el numero y luego 2 rallas y por esas 2 rallas no me carga bien el numero , aver si alguien me puede decir porque sale, dejo aqui todo el codigo k tengo echo y la imagen
(http://img255.imageshack.us/img255/3609/dibujooe9.png)
CitarPrivate Sub savetext1()
Dim canalLibre As Integer
canalLibre = FreeFile
Open "./tiempo.txt" For Output As #canalLibre
Print #canalLibre, Text1
Close #canalLibre
End Sub
Private Sub savetext2()
Dim canalLibre As Integer
canalLibre = FreeFile
Open "./tiempo2.txt" For Output As #canalLibre
Print #canalLibre, Text2
Close #canalLibre
End Sub
Private Sub savetext3()
Dim canalLibre As Integer
canalLibre = FreeFile
Open "./tiempo3.txt" For Output As #canalLibre
Print #canalLibre, Text3
Close #canalLibre
End Sub
Private Sub Form_Load()
Label1.Caption = Text4.Text
Label2.Caption = Text5.Text
Label3.Caption = Text6.Text
cargartxt1
cargartxt2
cargartxt3
Timer1.Enabled = True
Timer2.Enabled = True
End Sub
Private Sub cargartxt1()
On Error Resume Next
Dim n_File As Integer
Dim Contenido As String
n_File = FreeFile
Open "./tiempo.txt" For Input As n_File
Contenido = Input$(LOF(n_File), #n_File)
Close n_File
Text4 = Contenido
End Sub
Private Sub cargartxt2()
On Error Resume Next
Dim n_File As Integer
Dim Contenido As String
n_File = FreeFile
Open "./tiempo2.txt" For Input As n_File
Contenido = Input$(LOF(n_File), #n_File)
Close n_File
Text5 = Contenido
End Sub
Private Sub cargartxt3()
On Error Resume Next
Dim n_File As Integer
Dim Contenido As String
n_File = FreeFile
Open "./tiempo3.txt" For Input As n_File
Contenido = Input$(LOF(n_File), #n_File)
Close n_File
Text6 = Contenido
End Sub
Private Sub Timer1_Timer()
Label6.Caption = "0"
Label3.Caption = Val(Label3.Caption) + 1
If Val(Label3.Caption) < 10 Then
Label3.Caption = "0" & Label3.Caption
End If
If Val(Label3.Caption) > 59 Then
Label3.Caption = "00"
Label2.Caption = Val(Label2.Caption) + 1
If Val(Label2.Caption) < 10 Then
Label2.Caption = "0" & Label2.Caption
End If
If Val(Label2.Caption) > 59 Then
Label2.Caption = "00"
Label1.Caption = Val(Label1.Caption) + 1
If Val(Label1.Caption) < 10 Then
Label1.Caption = "0" & Label1.Caption
End If
End If
End If
End Sub
Private Sub Timer2_Timer()
Label6.Caption = Val(Label6.Caption) + 1
End Sub
Private Sub Timer3_Timer()
savetext1
savetext2
savetext3
End Sub
Private Sub Timer4_Timer()
Text1.Text = Label1.Caption
Text2.Text = Label2.Caption
Text3.Text = Label3.Caption
End Sub
En un archivo de texto el caracter de salto de linea se representa con esas dos ralla.
Para ahorrarte código lo mejor q puedes hacer es abrir el archivo de text oal inicio del programa leerlo TODO y luego partirlo con un split por el "||" o usando vbcrlf, q es lo mismo :P
ya lo arregle, puse el textbox en multiline y ya sta:
ya e acabado el cronometro, guarda bien el tiempo, luego lo carga y lo reanuda por donde iva, ahora lo tengo que acoplar a la aplicacion
Te recomiendo q hagas q guarde el timpo cada 5min por ejemplo, por q si te cierran el programa con el task por ejemplo no ejecutará el form unload
es lo que he hecho, bueno ya he acabado el programa y funciona perfectamente, el serial se modifica desde el codigo fuente y se puede poner varios, aqui os dejo el source
http://sorucreations.gratishost.com/
http://sorucreations.gratishost.com/
http://sorucreations.gratishost.com/
http://sorucreations.gratishost.com/