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.
Traer un programa hacia programa activo.
- 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.
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í:
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.
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
"¿Y no será que en este mundo hay cada vez más gente y menos personas?". Mafalda (Quino)
Re: Traer un programa hacia programa activo.
Gracias por la ayuda,