Traer un programa hacia programa activo.

Pregunta Sin Miedo no te cortes cualquier cosa para empezar - Autoit se comienza facilmente.Para Ordenes o Comandos sueltos. Ver nota como preguntar.
Responder
Jummi
Mensajes: 6
Registrado: 02 Nov 2010, 21:01

Traer un programa hacia programa activo.

Mensaje por Jummi »

Tengo un problema de hardware de mi ordenador que hace que cada cierto tiempo me de un pantallazo y me cambie de pantalla. Tengo un programa hecho en autoit que esta controlando esa pantalla y al pasar eso se descontrola.

Mi idea es hacer un bucle que controle si esa aplicacion esta activa, y si no esta, traerla. Repito que la aplicacion esta ha abierta pero esta minimizada. Quiero traerla delante para que sea la aplicacion activa. Probe con varios comandos como WinSetState y con WinSetOnTop, pero no consegui nada.

Alguien podria ayudarme y decirme como hacer un codigo que revise si un programa esta activo y en caso de no estarlo que lo active, ojo, no abrirlo que ya esta, sino pasarlo a ser el programa que esta en primer plano.

Gracias.
Avatar de Usuario
Ximorro
Profesional del Autoit
Mensajes: 1500
Registrado: 10 Jul 2009, 12:35
Ubicación: Castellón, España

Re: Traer un programa hacia programa activo.

Mensaje por Ximorro »

Pues sí que debería funcionar con un WinSetState, concretamente con un @SW_RESTORE, siendo que está minimizada, y no oculta.

Puedes intentar otra manera con WinActivate, si está minimizada también la restaurará.
Puedes esperarla haciendo algo así:

Código: Seleccionar todo

WinActivate($winTitle)
If WinWaitActive($winTitle, "", 10) = 0 Then
	ConsoleWrite("¡Ventana <" & $winTitle & "> no encontrada!" & @LF)
EndIf
Con eso le lanza el comando de activación y espera 10 segundos a ver si aparece. A veces no es muy instantáneo si la ventana está ocupada. Ahí aborto, aunque podrías reintentar.
"¿Y no será que en este mundo hay cada vez más gente y menos personas?". Mafalda (Quino)
Jummi
Mensajes: 6
Registrado: 02 Nov 2010, 21:01

Re: Traer un programa hacia programa activo.

Mensaje por Jummi »

Gracias por la ayuda,

:-)
Responder