Ejecutar .exe de VB cada 'x' tiempo.

Iniciado por swindler01, 5 Marzo 2009, 03:12 AM

0 Miembros y 1 Visitante están viendo este tema.

swindler01

Así es.

Me pregunto si existe alguna forma de que un archivo ejecutable de VB se inicie cada 3 ó 5 minutos después de haber desaparecido (oculto) ó terminado? ¿Cual es?

Es decir, hice un archivo en VB que da una falsa alarma de Windows y al presionar un botón de 'Cancel' la ventana se oculta, pero después ya no se muestra más.

He googleado un poco y dicen que funca programando un Timer1 pero no se como :( :(

¿Alguien sabe como hacerlo? Y de ser posible si me pudiera dar un ejemplo sencillo.

Saludox. :P

seba123neo

Hola, es tan facil que ni te lo digo, mejor mira como funciona un Timer primero...

Control Timer - Temporizador

saludos.
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

Mr. Crowley

#2
Aqui le dejo un ejemplo que le desarrolle:


Option Explicit

Dim iSegundos As Integer

Private Sub tmrTiempo_Timer()
    If iSegundos = 10 Then
        '// aqui se resetea el tiempo
        iSegundos = 0
        '//coloque aqui lo que quiera, si desea mostrar el form nuevamente, entonces:
        Me.Show
    Else
        iSegundos = iSegundos + 1
    End If
    Me.Caption = iSegundos
End Sub


Agregue un Timer y establezca el Intervalo a 1000 (1000 milisegundos son un segundo). Ademas, coloquele como nombre tmrTiempo.

Espero haber ayudado  ;D
Mi blog personal: www.calirojas.com

XcryptOR

si quieres ejecutar ciertas rutinas de tu aplicación si se hace con un timer

por ejemplo si tienes una función llamada main y quieres ejecutarla cada  minuto puedes hacerlo así

Código (vb) [Seleccionar]
Private Sub Timer1_Timer()
   Call main
   ' rutina2
   ' rutina3
   '.......
End Sub


seteando la propiedad interval del timer a 60000 (milisegundos)





r0xSoFT

Yo lo haría de alguan de estas dos formas:

- Con una tarea programada, cada X tiempo pero es un poco cantoso.
- La otra forma es con otro programa, me explico:

Tenemos 2 programas, el que quieres ejecutar y el que se va a encargar de ejecutarlo. Llamemoslo prog1 y prog2. El prog2 comprueba el proceso del prog1 y en funcion de si este o no activo, lo ejecuta o lo para.


Son soluciones un poco chapuzas, pero espero que te valgan.



Salu2!!
Bienvenido al extasis de la culminación de mi crisis.

Dessa

Cita de: r0xSoFT en  6 Marzo 2009, 15:40 PM

Son soluciones un poco chapuzas, pero espero que te valgan.
Salu2!!

Hola, muchas veces uso otro ejecutuble (sobre todo cuando tenes que "manejar" aplicaciones que no son tuyas en segundo plano) y  si cuidas los "detalles" no es tan chapuza

Saludos     
Adrian Desanti

Mr. Crowley

Cita de: swindler01 en  5 Marzo 2009, 03:12 AM

al presionar un botón de 'Cancel' la ventana se oculta, pero después ya no se muestra más.

Se oculta o se cierra la aplicacion? En caso de que se cierre (porque así usted lo desea) podria utilizar entonces la tarea programada, como le indicaron mas arriba. Puede programar su ejecutable para que sea el quien cree las tareas automaticamente con el comando de MS-DOS.

Si la aplicacion sigue en ejecucion, pero no muestra ninguna ventana (osea, esta oculta), podria utilizar el metodo que indico XcryptOR o el mio, que realmente son la misma cosa, solo que el mio tiene el codigo de ejemplo.
Mi blog personal: www.calirojas.com

seba123neo

detecta cuando le da al boton cancelar y oculta el form(Hide queda en memoria) y despues con un Timer..lo ejecutas cada 2 o 3 minutos como quieras...

saludos.
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

Mr. Crowley

Cita de: seba123neo en  7 Marzo 2009, 02:32 AM
detecta cuando le da al boton cancelar y oculta el form(Hide queda en memoria)

Para hacer lo que ha indicado seba123neo puede utilizar el siguiente codigo:


Private Sub Form_Unload(Cancel As Integer)
    Me.Hide
    Cancel = True
End Sub
Mi blog personal: www.calirojas.com