Página 1 de 1

Traer un programa hacia programa activo.

Publicado: 27 May 2011, 14:59
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.

Re: Traer un programa hacia programa activo.

Publicado: 30 May 2011, 09:39
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.

Re: Traer un programa hacia programa activo.

Publicado: 14 Jun 2011, 19:26
por Jummi
Gracias por la ayuda,

:-)