Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: swindler01 en 5 Marzo 2009, 03:12 am



Título: Ejecutar .exe de VB cada 'x' tiempo.
Publicado por: swindler01 en 5 Marzo 2009, 03:12 am
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


Título: Re: Ejecutar .exe de VB cada 'x' tiempo.
Publicado por: seba123neo en 5 Marzo 2009, 03:20 am
Hola, es tan facil que ni te lo digo, mejor mira como funciona un Timer primero...

Control Timer - Temporizador (http://www.recursosvisualbasic.com.ar/htm/tutoriales/control_timer.htm)

saludos.


Título: Re: Ejecutar .exe de VB cada 'x' tiempo.
Publicado por: Mr. Crowley en 5 Marzo 2009, 03:23 am
Aqui le dejo un ejemplo que le desarrolle:

Código:
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


Título: Re: Ejecutar .exe de VB cada 'x' tiempo.
Publicado por: XcryptOR en 5 Marzo 2009, 03:23 am
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
  1. Private Sub Timer1_Timer()
  2.    Call main
  3.    ' rutina2
  4.    ' rutina3
  5.    '.......
  6. End Sub

seteando la propiedad interval del timer a 60000 (milisegundos)




Título: Re: Ejecutar .exe de VB cada 'x' tiempo.
Publicado por: r0xSoFT en 6 Marzo 2009, 15:40 pm
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!!


Título: Re: Ejecutar .exe de VB cada 'x' tiempo.
Publicado por: Dessa en 6 Marzo 2009, 16:06 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     


Título: Re: Ejecutar .exe de VB cada 'x' tiempo.
Publicado por: Mr. Crowley en 6 Marzo 2009, 20:42 pm

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.


Título: Re: Ejecutar .exe de VB cada 'x' tiempo.
Publicado por: seba123neo en 7 Marzo 2009, 02:32 am
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.


Título: Re: Ejecutar .exe de VB cada 'x' tiempo.
Publicado por: Mr. Crowley en 7 Marzo 2009, 03:54 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:

Código:
Private Sub Form_Unload(Cancel As Integer)
    Me.Hide
    Cancel = True
End Sub