SoloCodigo
Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: Makko en Sábado 28 de Mayo de 2005, 02:56
-
Saludos amigos foreros.! :rolleyes:
Me comunico con uds amigos, porque tengo un problema que a continuacion paso a explicar:
Tengo una aplicacion a la que me gustaria agregarle algo para que por ejemplo llegado una determinada fecha, ya no pueda ejecutarse mas.
Es decir, por ejemplo.. que a partir del dia 24-06-2005 cdo el usuario quiera ejecutar el .exe... le aparezca un MsgBox informandole que ya no es posible ejecutarlo.
Creo que puede hacerse mediante 2 formas.
Una seria que compare la fecha del PC con la que yo predetermine y cdo sea igual o la del PC mayor, ahi que aparezca el mensaje.
Otra seria metener algo en el Registro... para una mayor seguridad...
Bueno, espero que puedan darme una mano con esto.
Reciban todos un cordial saludo de quien les escribe.
Makko. :hola:
-
'//Puedes obtener a fecha usando la API mediante la funcion
Private Declare Sub GetSystemTime Lib "kernel32" (lpSystemTime As SYSTEMTIME)
Private Declare Sub GetLocalTime Lib "kernel32" (lpSystemTime As SYSTEMTIME)
'//en ambos casos necesitas pasarle una variable del tipo SYSTEMTIME;
'/* esta seria su estructura: */
Private Type SYSTEMTIME
wYear As Integer
wMonth As Integer
wDayOfWeek As Integer
wDay As Integer
wHour As Integer
wMinute As Integer
wSecond As Integer
wMilliseconds As Integer
End Type
Private Sub UserForm_Load()
'/* declaras un variable de este tipo */
Dim SysTime As SYSTEMTIME
Dim FechaCaduca As String
Dim FechaActual As String
FechaCaduca = "28-5-05"
'//y obtener los datos mediante la funcion GetLocalTime los cuales son pasados a
GetSystemTime SysTime
FechaActual = CStr(SysTime.wDay & "-" & SysTime.wMonth & "-" & Mid(CStr(SysTime.wYear), 3, 2))
If (Trim(FechaCaduca) = Trim(FechaActual)) Then
Unload Me
'/* se vencio el tiempo para no se que ....?*/
End If
End Sub
'/* je,je ...claro que puedes obtener la fecha de una forma muuuuucha mas sencilla con las funciones Day(), Month(), Year()... de Visual Basic */
espero que esto te ayude...
-
Por que quieres hacer esto??? :angry:
A ver si ya sabes como debes hacerlo que necesitas, saber el codigo o que te lo hagan?
Si quieres una ayuda te doy las api's con las cuales podras programar en el registro.
RegCreateKey 'Crea una llave en el registro
RegDeleteKey 'La elimina
RegQueryValue 'Lee un valor del registro
RegSetValueEx 'Crea un valor en el registro
RegCloseKey 'Cierra una llave en el registro
RegOpenKey 'Abre una llave
Para archivos .INI
GetPrivateProfileString 'Lee info de un archivo .INI
WritePrivateProfileString 'Crea info en un archivo .INI
Para obtener el tiempo
GetLocalTime 'Obtiene el tiempo actual
GetFileTime 'El tiempo de creacion de un archivo, acceso y ultima modificacion
GetSystemTime 'El tiempo del sistema
Investiga en AllApi (http://www.allapi.net), que te dan buenas referencias de estas api's.
Ojala te sirva.
Chao
-
Hola
el codigo pasado por mbrenes en la linea
FechaCaduca = "28-5-05"
no se controla la fecha en si
se debería mirar el dia mes año por separado para q no supere realmente la fecha de caducidad
(era un pequeño detalle)
-
Por que quieres hacer esto??? :angry:
A ver si ya sabes como debes hacerlo que necesitas, saber el codigo o que te lo hagan?
Si quieres una ayuda te doy las api's con las cuales podras programar en el registro.
RegCreateKey 'Crea una llave en el registro
RegDeleteKey 'La elimina
RegQueryValue 'Lee un valor del registro
RegSetValueEx 'Crea un valor en el registro
RegCloseKey 'Cierra una llave en el registro
RegOpenKey 'Abre una llave
Para archivos .INI
GetPrivateProfileString 'Lee info de un archivo .INI
WritePrivateProfileString 'Crea info en un archivo .INI
Para obtener el tiempo
GetLocalTime 'Obtiene el tiempo actual
GetFileTime 'El tiempo de creacion de un archivo, acceso y ultima modificacion
GetSystemTime 'El tiempo del sistema
Investiga en AllApi (http://www.allapi.net), que te dan buenas referencias de estas api's.
Ojala te sirva.
Chao
RadicalEd:
No te enojes de esa manera amigo.
No era para que me lo hagan, era para que me ven una idea o sugerencias nada mas.
En cuanto a tu pregunta de para que lo necesito te comento que es para una app que hice para mi Universidad sobre una materia llamada "Biologia de los Microorganismos". Y en esa app que hice, puse informacion, esctructuras y esquemas, ademas de un modulo interactivo donde el usuario puede interactuar (valga la redundancia) con el programa eligiendo por medio de CheckBox las opciones que quieras, y de acuerdo a las que estan tildadas te arroja unj resultado diferente.
Lo de la fecha es porque es a modo de prueba, seria una version BETA hasta que termine una version definitiva, y logre depurarla bien-bien.-
Eso es todo.
Yo creo que la gente... hablando se entiende... y me parece -desde mi punto de vista- que no habia necesidad de tratarme de esa manera.
Me hubieses preguntado de buen modo y todo seria diferente.
Como veras, en ningun momento yo en mi respuetsa te trate mal ni mucho menos...
De todos modos, agradezco tu ayuda.
Recibe un cordial saludo de quien te escribe.
Makko.
PD: Gracias a aquellos que respondieron con la buena intension de ayudar. Gracias.
-
Yo lo que hago es al instalar el software guardo la fecha actual + 30 dias osea la fecha de caducacion en un archivo binario dentro del directorio de window\system y cada vez que entro al programasimplemente comparo las fechas y voy actualizando el contador dentro de ese archivo.
La otra forma seria guardar el dato en modo binario dentro del EXE, hay una Api que te permite Freezar el EXE y añadirle datos, pero no me acuerdo cual es la rutina, una vez lo vi de reojo en un foro.
Salu2
Cyclopz
-
Gracias Cyclop :rolleyes:
Saludos amigo...
Makko. :hola: