Página 1 de 1

Detectar si programa se encuentra abierto

Publicado: 24 Ene 2016, 21:44
por juap
Buenos dias, me presento soy juap nuevo en el foro y me encuentro actualmente leyendo y aprendiendo a usar AutoIT pero tengo una consulta que no logro resolver. Necesito detectar si un programa se encuentra abierto, si se encuentra cerrado ejecutar, luego autoclikear "play" en una parte de la pantalla:

Explicacion: Tengo un juego funcionando llamado Ultima-Online y un programa que ejecuta scripts para el juego "Easyuo". Hice un script automatico para el juego que funciona como bot, al darle play al programa "Easyuo", el juego "ultima-online" loguea y deloguea muchas veces lo que causa que a veces el juego se cierre, en este caso lo que quiero hacer con "Autoit" es automatizar el proceso de ejecutar nuevamente el juego y darle "Play" al programa "EasyUO" que ejecuta el script.
El funcionamiento seria el mismo que si un reproductor de musica se cierra inesperadamente, ejecutar nuevamente y darle "play" a una cancion.

Si esto se puediera hacer, tengo luego una consulta aun mas desafiante que involucra registro de sistema "REGedit".

Les agradeceria mucho la colaboracion.
Salu2!

Re: Detectar si programa se encuentra abierto

Publicado: 24 Ene 2016, 23:14
por Dany
Hola.
Básicamente seria algo así...

Código: Seleccionar todo

#include <MsgBoxConstants.au3>


HotKeySet("{ESC}", "Terminate") ;presiona escape para salir del scritpt


Local $sProcessName="Aquie el nombre del proceso"
While 1
	If not ProcessExists($sProcessName) Then
	 ;aqui puedes esperar un poco y luego hacer ControlClick en el boton Play Puedes obtener la informacion
 	 ;del boton puedes hacerlo con la herramienta Autoit Window Info
	EndIf
    Sleep(100)
WEnd


Func Terminate()
    Exit
EndFunc   

Saludos :smt027