Quote from Jlash on December 27, 2020, 10:48 amBuenas,
tengo un programa (para que los alumnos realicen test desde su casa) que "caduca" a los 3 meses y les vuelve a pedir contraseña que se la vuelvo a generar.
Mi programa toma de referencia la fecha de windows de su ordenador, con lo que ahí tengo un problema de seguridad, simplemente modificando la fecha antes de abrirlo y que siempre estuviera en la misma fecha no tendría modo de que "caducara".
Conocéis alguna forma de que VisualNeo conozca la fecha real, solo se me ocurre conectándose a algún sitio, tengo un hosting en el que tengo la web por si es de ayuda.
Feliz Navidad, Un saludo.
---- traducido por google ----
Good,
I have a program (for students to take tests from home) that "expires" after 3 months and asks them again for a password that I generate it again.
My program takes the Windows date of your computer as a reference, so there I have a security problem, simply modifying the date before opening it and always having it on the same date would have no way of "expiring".
Do you know any way that VisualNeo knows the real date, it only occurs to me by connecting to some site, I have a hosting in which I have the web in case it helps.
Merry Christmas, Greetings.
Buenas,
tengo un programa (para que los alumnos realicen test desde su casa) que "caduca" a los 3 meses y les vuelve a pedir contraseña que se la vuelvo a generar.
Mi programa toma de referencia la fecha de windows de su ordenador, con lo que ahí tengo un problema de seguridad, simplemente modificando la fecha antes de abrirlo y que siempre estuviera en la misma fecha no tendría modo de que "caducara".
Conocéis alguna forma de que VisualNeo conozca la fecha real, solo se me ocurre conectándose a algún sitio, tengo un hosting en el que tengo la web por si es de ayuda.
Feliz Navidad, Un saludo.
---- traducido por google ----
Good,
I have a program (for students to take tests from home) that "expires" after 3 months and asks them again for a password that I generate it again.
My program takes the Windows date of your computer as a reference, so there I have a security problem, simply modifying the date before opening it and always having it on the same date would have no way of "expiring".
Do you know any way that VisualNeo knows the real date, it only occurs to me by connecting to some site, I have a hosting in which I have the web in case it helps.
Merry Christmas, Greetings.

Quote from Vadim on December 27, 2020, 11:05 am@jlash
If the program involves Internet access, then the best solution would be to check the date on the Internet. For example, using a time server. For example, using a plugin:
Plugin: zmaNTPClient (Anton, Peter Pavlov)
Command: zmaNTPDateIf the work of the program is not connected with the Internet, then in order not to force the user to turn on the Internet, you can count the number of starts or hours of use and write their number to an encrypted file or to a password-protected archive, without which the program will not work.
If the program involves Internet access, then the best solution would be to check the date on the Internet. For example, using a time server. For example, using a plugin:
Plugin: zmaNTPClient (Anton, Peter Pavlov)
Command: zmaNTPDate
If the work of the program is not connected with the Internet, then in order not to force the user to turn on the Internet, you can count the number of starts or hours of use and write their number to an encrypted file or to a password-protected archive, without which the program will not work.
Uploaded files:
Quote from fkapnist on December 30, 2020, 3:26 am@jlash
It is perhaps easier to track the number of times a program is used instead of how many days or months. Each time the program is launched, the number 1 is added to a session grand total . In this example, the user is allowed 200 sessions after which they are redirected to a page asking for a new password registration:
RegistryRead "HKEY_CURRENT_USER" "YourApp" "[TotalSessions]" Math "1+[TotalSessions]" "0" "[ThisTotalSessions]" If "[ThisTotalSessions]" ">" "200" GotoPage "Please Register" Else SetVar "[TotalSessions]" "[ThisTotalSession]" RegistryWrite "HKEY_CURRENT_USER" "YourApp" "[TotalSessions]" EndIfBut how will you generate a new password if the user is offline? The password registration page could connect to the internet to download the password. Then the old password must somehow be disabled.
----------
Tal vez sea más fácil realizar un seguimiento del número de veces que se utiliza un programa en lugar de cuántos días o meses.Cada vez que se inicia el programa, el número 1 se agrega a un total general de sesión.En este ejemplo, al usuario se permite 200 sesiones después de las cuales se reorientan a una página que pide un nuevo registro de contraseña. Pero, ¿cómo generará una nueva contraseña si el usuario está sin conexión?La página de registro de contraseñas podría conectarse a Internet para descargar la contraseña.Entonces la contraseña antigua debe ser de alguna manera inhabilitada.
It is perhaps easier to track the number of times a program is used instead of how many days or months. Each time the program is launched, the number 1 is added to a session grand total . In this example, the user is allowed 200 sessions after which they are redirected to a page asking for a new password registration:
RegistryRead "HKEY_CURRENT_USER" "YourApp" "[TotalSessions]" Math "1+[TotalSessions]" "0" "[ThisTotalSessions]" If "[ThisTotalSessions]" ">" "200" GotoPage "Please Register" Else SetVar "[TotalSessions]" "[ThisTotalSession]" RegistryWrite "HKEY_CURRENT_USER" "YourApp" "[TotalSessions]" EndIf
But how will you generate a new password if the user is offline? The password registration page could connect to the internet to download the password. Then the old password must somehow be disabled.
----------
Tal vez sea más fácil realizar un seguimiento del número de veces que se utiliza un programa en lugar de cuántos días o meses.Cada vez que se inicia el programa, el número 1 se agrega a un total general de sesión.En este ejemplo, al usuario se permite 200 sesiones después de las cuales se reorientan a una página que pide un nuevo registro de contraseña. Pero, ¿cómo generará una nueva contraseña si el usuario está sin conexión?La página de registro de contraseñas podría conectarse a Internet para descargar la contraseña.Entonces la contraseña antigua debe ser de alguna manera inhabilitada.
Quote from Jlash on December 31, 2020, 8:28 amGracias por los consejos!
De momento las contraseñas de activación me las piden por télefono o por whatsapp, no tengo tantos usuarios como para que me resulte molesto hacerlo. Si tendría miles de usuarios tendría que pensar una forma más automatizada. Ojalá ;)
Un saludo!
Thanks for the tips!
At the moment the activation passwords are asked by phone or WhatsApp, I do not have so many users that it is annoying to do so. If you had thousands of users you would have to think of a more automated way. Hopefully ;)
A greeting!
Gracias por los consejos!
De momento las contraseñas de activación me las piden por télefono o por whatsapp, no tengo tantos usuarios como para que me resulte molesto hacerlo. Si tendría miles de usuarios tendría que pensar una forma más automatizada. Ojalá ;)
Un saludo!
Thanks for the tips!
At the moment the activation passwords are asked by phone or WhatsApp, I do not have so many users that it is annoying to do so. If you had thousands of users you would have to think of a more automated way. Hopefully ;)
A greeting!

Quote from proforma.guyot on January 22, 2021, 5:11 amTake the year, month and day and string them all together as one number. Make
sure that you string them together in the right order:[Year][MonthNum][DayNum]
Compare the resulting value against another pre-defined cut-off date value. If
the current date value is greater than your cut-off date number then exit.The first two segments are to deal with single digit months and days attaching
a zero before-hand, (06, 01 = June 1st).Claude GUYOT
"Thank you very much for loving this software as much as I do.""Merci beaucoup d'aimé ce logiciel autant que moi."
. = = DAY PREP = = = = = = StrLen "[DayNum]" "[DayNum_Len]" If "[DayNum_Len]" "=" "1" SetVar "[d]" "0[DayNum]" Else SetVar "[d]" "[DayNum]" EndIf . = = MONTH PREP = = = = = = StrLen "[MonthNum]" "[MonthNum_Len]" If "[MonthNum_Len]" "=" "1" SetVar "[m]" "0[MonthNum]" Else SetVar "[m]" "[MonthNum]" EndIf . = = STRING = = = = = = SetVar "[datevalue]" "[Year][m][d]" . = = GO, NO GO FOR LAUNCH = = = = If "[datevalue]" ">" "20210121" ....Expired AlertBox "" "This Evaluation has Expired! Exiting..." Exit "" "" Else ....Okay to run program EndIf
Take the year, month and day and string them all together as one number. Make
sure that you string them together in the right order:
[Year][MonthNum][DayNum]
Compare the resulting value against another pre-defined cut-off date value. If
the current date value is greater than your cut-off date number then exit.
The first two segments are to deal with single digit months and days attaching
a zero before-hand, (06, 01 = June 1st).
Claude GUYOT
"Thank you very much for loving this software as much as I do."
"Merci beaucoup d'aimé ce logiciel autant que moi."
. = = DAY PREP = = = = = = StrLen "[DayNum]" "[DayNum_Len]" If "[DayNum_Len]" "=" "1" SetVar "[d]" "0[DayNum]" Else SetVar "[d]" "[DayNum]" EndIf . = = MONTH PREP = = = = = = StrLen "[MonthNum]" "[MonthNum_Len]" If "[MonthNum_Len]" "=" "1" SetVar "[m]" "0[MonthNum]" Else SetVar "[m]" "[MonthNum]" EndIf . = = STRING = = = = = = SetVar "[datevalue]" "[Year][m][d]" . = = GO, NO GO FOR LAUNCH = = = = If "[datevalue]" ">" "20210121" ....Expired AlertBox "" "This Evaluation has Expired! Exiting..." Exit "" "" Else ....Okay to run program EndIf
Uploaded files:

Quote from proforma.guyot on January 22, 2021, 5:12 amQuote from proforma.guyot on January 22, 2021, 5:11 amTake the year, month and day and string them all together as one number. Make
sure that you string them together in the right order:[Year][MonthNum][DayNum]
Compare the resulting value against another pre-defined cut-off date value. If
the current date value is greater than your cut-off date number then exit.The first two segments are to deal with single digit months and days attaching
a zero before-hand, (06, 01 = June 1st).Claude GUYOT
"Thank you very much for loving this software as much as I do.""Merci beaucoup d'aimé ce logiciel autant que moi."
. = = DAY PREP = = = = = =StrLen "[DayNum]" "[DayNum_Len]"If "[DayNum_Len]" "=" "1"SetVar "[d]" "0[DayNum]"ElseSetVar "[d]" "[DayNum]"EndIf. = = MONTH PREP = = = = = =StrLen "[MonthNum]" "[MonthNum_Len]"If "[MonthNum_Len]" "=" "1"SetVar "[m]" "0[MonthNum]"ElseSetVar "[m]" "[MonthNum]"EndIf. = = STRING = = = = = =SetVar "[datevalue]" "[Year][m][d]". = = GO, NO GO FOR LAUNCH = = = =If "[datevalue]" ">" "20210121"....ExpiredAlertBox "" "This Evaluation has Expired! Exiting..."Exit "" ""Else....Okay to run programEndIf. = = DAY PREP = = = = = = StrLen "[DayNum]" "[DayNum_Len]" If "[DayNum_Len]" "=" "1" SetVar "[d]" "0[DayNum]" Else SetVar "[d]" "[DayNum]" EndIf . = = MONTH PREP = = = = = = StrLen "[MonthNum]" "[MonthNum_Len]" If "[MonthNum_Len]" "=" "1" SetVar "[m]" "0[MonthNum]" Else SetVar "[m]" "[MonthNum]" EndIf . = = STRING = = = = = = SetVar "[datevalue]" "[Year][m][d]" . = = GO, NO GO FOR LAUNCH = = = = If "[datevalue]" ">" "20210121" ....Expired AlertBox "" "This Evaluation has Expired! Exiting..." Exit "" "" Else ....Okay to run program EndIf. = = DAY PREP = = = = = = StrLen "[DayNum]" "[DayNum_Len]" If "[DayNum_Len]" "=" "1" SetVar "[d]" "0[DayNum]" Else SetVar "[d]" "[DayNum]" EndIf . = = MONTH PREP = = = = = = StrLen "[MonthNum]" "[MonthNum_Len]" If "[MonthNum_Len]" "=" "1" SetVar "[m]" "0[MonthNum]" Else SetVar "[m]" "[MonthNum]" EndIf . = = STRING = = = = = = SetVar "[datevalue]" "[Year][m][d]" . = = GO, NO GO FOR LAUNCH = = = = If "[datevalue]" ">" "20210121" ....Expired AlertBox "" "This Evaluation has Expired! Exiting..." Exit "" "" Else ....Okay to run program EndIf
Quote from proforma.guyot on January 22, 2021, 5:11 amTake the year, month and day and string them all together as one number. Make
sure that you string them together in the right order:[Year][MonthNum][DayNum]
Compare the resulting value against another pre-defined cut-off date value. If
the current date value is greater than your cut-off date number then exit.The first two segments are to deal with single digit months and days attaching
a zero before-hand, (06, 01 = June 1st).Claude GUYOT
"Thank you very much for loving this software as much as I do.""Merci beaucoup d'aimé ce logiciel autant que moi."
. = = DAY PREP = = = = = =StrLen "[DayNum]" "[DayNum_Len]"If "[DayNum_Len]" "=" "1"SetVar "[d]" "0[DayNum]"ElseSetVar "[d]" "[DayNum]"EndIf. = = MONTH PREP = = = = = =StrLen "[MonthNum]" "[MonthNum_Len]"If "[MonthNum_Len]" "=" "1"SetVar "[m]" "0[MonthNum]"ElseSetVar "[m]" "[MonthNum]"EndIf. = = STRING = = = = = =SetVar "[datevalue]" "[Year][m][d]". = = GO, NO GO FOR LAUNCH = = = =If "[datevalue]" ">" "20210121"....ExpiredAlertBox "" "This Evaluation has Expired! Exiting..."Exit "" ""Else....Okay to run programEndIf. = = DAY PREP = = = = = = StrLen "[DayNum]" "[DayNum_Len]" If "[DayNum_Len]" "=" "1" SetVar "[d]" "0[DayNum]" Else SetVar "[d]" "[DayNum]" EndIf . = = MONTH PREP = = = = = = StrLen "[MonthNum]" "[MonthNum_Len]" If "[MonthNum_Len]" "=" "1" SetVar "[m]" "0[MonthNum]" Else SetVar "[m]" "[MonthNum]" EndIf . = = STRING = = = = = = SetVar "[datevalue]" "[Year][m][d]" . = = GO, NO GO FOR LAUNCH = = = = If "[datevalue]" ">" "20210121" ....Expired AlertBox "" "This Evaluation has Expired! Exiting..." Exit "" "" Else ....Okay to run program EndIf. = = DAY PREP = = = = = = StrLen "[DayNum]" "[DayNum_Len]" If "[DayNum_Len]" "=" "1" SetVar "[d]" "0[DayNum]" Else SetVar "[d]" "[DayNum]" EndIf . = = MONTH PREP = = = = = = StrLen "[MonthNum]" "[MonthNum_Len]" If "[MonthNum_Len]" "=" "1" SetVar "[m]" "0[MonthNum]" Else SetVar "[m]" "[MonthNum]" EndIf . = = STRING = = = = = = SetVar "[datevalue]" "[Year][m][d]" . = = GO, NO GO FOR LAUNCH = = = = If "[datevalue]" ">" "20210121" ....Expired AlertBox "" "This Evaluation has Expired! Exiting..." Exit "" "" Else ....Okay to run program EndIf
Quote from Jlash on January 23, 2021, 6:01 pmGracias, uso algo parecido, pero la cuestión es que simplemente cambiando la fecha de windows puede hacer trampa.
Con el complemento que recomendó Vadim (zmaNTPClient) automaticamente pones en fecha y hora correcta windows. (siempre que tenga internet).
Un saludo!!
Gracias, uso algo parecido, pero la cuestión es que simplemente cambiando la fecha de windows puede hacer trampa.
Con el complemento que recomendó Vadim (zmaNTPClient) automaticamente pones en fecha y hora correcta windows. (siempre que tenga internet).
Un saludo!!
Quote from Gaev on January 23, 2021, 8:02 pm@jlash
Have you considered embedding the expiry date within the password you supply e.g. if the real password is abcdefghijklmnopqrst ... tell them to enter Mabc2deAf1ghijkl2m8n0opqrRst2 ... where the embedded expiry date is 2021MAR28
Of course, this example is intentionally simple for illustration of the concept ... in reality, you could obfuscate/encrypt the date in many different ways ... even include a digit/letter to indicate which one of the (several) obfuscation/encryption methods is being deployed.
Now, in order to check if license has expired, you just have to extract out the embeded date from the entered password.
Have you considered embedding the expiry date within the password you supply e.g. if the real password is abcdefghijklmnopqrst ... tell them to enter Mabc2deAf1ghijkl2m8n0opqrRst2 ... where the embedded expiry date is 2021MAR28
Of course, this example is intentionally simple for illustration of the concept ... in reality, you could obfuscate/encrypt the date in many different ways ... even include a digit/letter to indicate which one of the (several) obfuscation/encryption methods is being deployed.
Now, in order to check if license has expired, you just have to extract out the embeded date from the entered password.

Quote from proforma.guyot on January 25, 2021, 7:54 pmJlash,
Jlash, Perhaps in an external file transcribe the dates of use of the Pub [to keep track of the first use of the ad / and possibly a date and time of its end use (to block its use)], and if a smart kid wants to go back to an earlier date and / or time on his PC, by manipulating the clock on his PC, he would block his application as a cheater ...
Peut-être dans un fichier externe transcrire les dates d'utilisations de la Pub
[pour garder la trace de la première utilisation de la pub / et éventuellement une date et une heure de son utilisation finale (pour bloquer son utilisation)],
et si un petit malin souhaite revenir sur une date et/ou heure antérieur de son PC, en manipulant l'horloge de son PC, il bloquerait son application comme tricheur ...Claude GUYOT
"Thank you very much for loving this software as much as I do."
"Merci beaucoup d'aimé ce logiciel autant que moi."
Jlash,
Jlash, Perhaps in an external file transcribe the dates of use of the Pub [to keep track of the first use of the ad / and possibly a date and time of its end use (to block its use)], and if a smart kid wants to go back to an earlier date and / or time on his PC, by manipulating the clock on his PC, he would block his application as a cheater ...
Peut-être dans un fichier externe transcrire les dates d'utilisations de la Pub
[pour garder la trace de la première utilisation de la pub / et éventuellement une date et une heure de son utilisation finale (pour bloquer son utilisation)],
et si un petit malin souhaite revenir sur une date et/ou heure antérieur de son PC, en manipulant l'horloge de son PC, il bloquerait son application comme tricheur ...
Claude GUYOT
"Thank you very much for loving this software as much as I do."
"Merci beaucoup d'aimé ce logiciel autant que moi."

Quote from proforma.guyot on January 25, 2021, 7:58 pmQuote from proforma.guyot on January 25, 2021, 7:54 pmJlash,
Perhaps in an external file transcribe the dates of use of the Pub [to keep track of the first use of the ad / and possibly a date and time of its end use (to block its use)], and if a smart kid wants to go back to an earlier date and / or time on his PC, by manipulating the clock on his PC, he would block his application as a cheater ...
Peut-être dans un fichier externe transcrire les dates d'utilisations de la Pub
[pour garder la trace de la première utilisation de la pub / et éventuellement une date et une heure de son utilisation finale (pour bloquer son utilisation)],
et si un petit malin souhaite revenir sur une date et/ou heure antérieur de son PC, en manipulant l'horloge de son PC, il bloquerait son application comme tricheur ...Claude GUYOT
"Thank you very much for loving this software as much as I do."
"Merci beaucoup d'aimé ce logiciel autant que moi."
Quote from proforma.guyot on January 25, 2021, 7:54 pmJlash,
Perhaps in an external file transcribe the dates of use of the Pub [to keep track of the first use of the ad / and possibly a date and time of its end use (to block its use)], and if a smart kid wants to go back to an earlier date and / or time on his PC, by manipulating the clock on his PC, he would block his application as a cheater ...
Peut-être dans un fichier externe transcrire les dates d'utilisations de la Pub
[pour garder la trace de la première utilisation de la pub / et éventuellement une date et une heure de son utilisation finale (pour bloquer son utilisation)],
et si un petit malin souhaite revenir sur une date et/ou heure antérieur de son PC, en manipulant l'horloge de son PC, il bloquerait son application comme tricheur ...Claude GUYOT
"Thank you very much for loving this software as much as I do."
"Merci beaucoup d'aimé ce logiciel autant que moi."
Quote from Jlash on January 26, 2021, 2:09 pmHola, eso lo hago también, registro la fecha del último uso y si ha cambiado a fecha anterior no funciona.
Pero me ha pasado alguno que no quería hacer trampa sino que se le gastó la pila del pc.
Con el complemento zmaNTPClient se soluciona todo porque cada vez que abre mi exe se pone la fecha bien (si tiene internet).Gracias a todos por las ayudas.
Bonjour, je fais ça aussi, j'enregistre la date de la dernière utilisation et si elle a changé à la date précédente cela ne fonctionne pas.
Mais il m'est arrivé quelqu'un que je ne voulais pas tricher mais que la batterie du pc était épuisée.
Avec le plugin zmaNTPClient, tout est résolu car à chaque fois que j'ouvre mon exe, la date est réglée correctement (s'il a Internet).Merci à tous pour votre aide.
Hello, I do that too, I record the date of the last use and if it has changed to the previous date it does not work.
But someone has happened to me that I did not want to cheat but that the battery of the pc ran out.
With the zmaNTPClient plugin everything is solved because every time I open my exe the date is set correctly (if it has internet).Thank you all for the help.
Hola, eso lo hago también, registro la fecha del último uso y si ha cambiado a fecha anterior no funciona.
Pero me ha pasado alguno que no quería hacer trampa sino que se le gastó la pila del pc.
Con el complemento zmaNTPClient se soluciona todo porque cada vez que abre mi exe se pone la fecha bien (si tiene internet).
Gracias a todos por las ayudas.
Bonjour, je fais ça aussi, j'enregistre la date de la dernière utilisation et si elle a changé à la date précédente cela ne fonctionne pas.
Mais il m'est arrivé quelqu'un que je ne voulais pas tricher mais que la batterie du pc était épuisée.
Avec le plugin zmaNTPClient, tout est résolu car à chaque fois que j'ouvre mon exe, la date est réglée correctement (s'il a Internet).
Merci à tous pour votre aide.
Hello, I do that too, I record the date of the last use and if it has changed to the previous date it does not work.
But someone has happened to me that I did not want to cheat but that the battery of the pc ran out.
With the zmaNTPClient plugin everything is solved because every time I open my exe the date is set correctly (if it has internet).
Thank you all for the help.
Quote from Deleted user on January 27, 2021, 9:52 pmPor favor, podríais poner un ejemplo del uso
zmaNTPDate
al estar en Ruso he intentado usarlo pero obtengo nada.
==================================
Please, can you post a sample to use zmaNTPDate?
Por favor, podríais poner un ejemplo del uso
zmaNTPDate
al estar en Ruso he intentado usarlo pero obtengo nada.
==================================
Please, can you post a sample to use zmaNTPDate?

Quote from Vadim on January 29, 2021, 2:00 pm@thedreams
.get the date from the ntp server in the specified format
zmaNTPDate "ntp1.stratum1.ru" "dd.mm.yy" "[InternetDate]"
.getting the date from a computer
zmaPCDate "dd.mm.yy" "[CompDate]"
If "[CompDate]" "<>" "[InternetDate]"
SetVar "[DateCompInternet]" "The date on the computer ([CompDate]) does not match the date obtained from the Internet ([InternetDate])."
Else
SetVar "[DateCompInternet]" ""
EndIf
@thedreams
.get the date from the ntp server in the specified format
zmaNTPDate "ntp1.stratum1.ru" "dd.mm.yy" "[InternetDate]"
.getting the date from a computer
zmaPCDate "dd.mm.yy" "[CompDate]"
If "[CompDate]" "<>" "[InternetDate]"
SetVar "[DateCompInternet]" "The date on the computer ([CompDate]) does not match the date obtained from the Internet ([InternetDate])."
Else
SetVar "[DateCompInternet]" ""
EndIf

Quote from DaviddeArgentina on January 30, 2021, 9:45 pmHola @jlash
El sistema de archivos de windows provee tres fechas de cada archivo:
Fecha de creacion. Fecha de ultimo acceso y Fecha de ultima modificacion
Si esto se combina con algunas funciones de manipulacion entre fechas y numeros, es posible realizar un plugin extremadamente util.
Dependiendo de la cantidad de interesados, puedo hacerlo en pocos dias
Saludos desde Buenos Aires,
David de Argentina
Hola @jlash
El sistema de archivos de windows provee tres fechas de cada archivo:
Fecha de creacion. Fecha de ultimo acceso y Fecha de ultima modificacion
Si esto se combina con algunas funciones de manipulacion entre fechas y numeros, es posible realizar un plugin extremadamente util.
Dependiendo de la cantidad de interesados, puedo hacerlo en pocos dias
Saludos desde Buenos Aires,
David de Argentina
Quote from Jlash on February 1, 2021, 10:08 pmGracias David,
el tema de la fecha lo tengo resuelto. Si el usuario dispone de internet con el complemento zmaNTPClient que comprueba la fecha real. Y si no dispone de internet como cada vez que abre se guarda la fecha de uso si detecta que la fecha es anterior a la registrada lo desactiva. Fallaría la protección si el usuario siempre pondría la fecha de windows en el mismo día, para lo que podría establecer usos máximos por día, pero vaya, tampoco me quiero liar tanto.
Gracias, un saludo!!
Gracias David,
el tema de la fecha lo tengo resuelto. Si el usuario dispone de internet con el complemento zmaNTPClient que comprueba la fecha real. Y si no dispone de internet como cada vez que abre se guarda la fecha de uso si detecta que la fecha es anterior a la registrada lo desactiva. Fallaría la protección si el usuario siempre pondría la fecha de windows en el mismo día, para lo que podría establecer usos máximos por día, pero vaya, tampoco me quiero liar tanto.
Gracias, un saludo!!

Quote from DaviddeArgentina on February 2, 2021, 2:03 amHola @jlash
Armé un ejemplo sencillo de uso de este pluugin
El prorama se llama Demo.exe y solo tiene 2 botones:
uno para seleccionar cualquier archivo
otro para ejeecutar el proeso.
espero lo aprecien.
Saludos desde Buenos Aires,
David de Argentina
Hola @jlash
Armé un ejemplo sencillo de uso de este pluugin
El prorama se llama Demo.exe y solo tiene 2 botones:
uno para seleccionar cualquier archivo
otro para ejeecutar el proeso.
espero lo aprecien.
Saludos desde Buenos Aires,
David de Argentina
Uploaded files:Quote from Deleted user on February 2, 2021, 2:38 am@vadim
Thanks, for your example.
@daviddeargentina
Gracias por el ejemplo, se agradece.
Thanks, for your example.
Gracias por el ejemplo, se agradece.