NO SE ACTIVA EL SCRIP CUANDO CAMBIO DE VENTANA Topic is solved

Esta sección es para preguntas sobre programación/scripting usando AutoHotkey.

Moderator: Flipeador

Claudio

NO SE ACTIVA EL SCRIP CUANDO CAMBIO DE VENTANA  Topic is solved

Post by Claudio » 13 Aug 2023, 10:34

Por favor, tengo un juego (ROSEONLINE) al cual le puse un scrip, pero cuando cambio de ventana o la minimizo deja de funcionar...
Este es el scrip que uso:

Code: Select all

#ifwinactive, ahk_exe trose.exe
DetectHiddenWindows, on
F1::
stop = 0
	loop
	{
	send 1
	sleep, 1000
	send 2
	sleep, 1000
	send 3
	sleep, 1000
	send 4
	sleep, 1000
	if stop = 1
		{
			exit
		}
	}
return

Esc::
stop = 1
return
[Mod edit: [code][/code] tags added.]

User avatar
ositoMalvado
Posts: 183
Joined: 24 Dec 2019, 12:02
Contact:

Re: NO SE ACTIVA EL SCRIP CUANDO CAMBIO DE VENTANA

Post by ositoMalvado » 14 Aug 2023, 17:11

Hola amigo! Bienvenido al foro, noto 2 errores en lo que quieres lograr.

1_ Si quieres que el script funcione para cuando la ventana este detrás o minimizada debes cambiar

Code: Select all

#ifwinactive, ahk_exe trose.exe
por

Code: Select all

#IfWinExist, ahk_exe trose.exe
ya que ahora en vez de comprobar si es la pestaña activa, solo comprobara si existe

2_ Asimismo utilizar Send en este caso no sería correcto ya que Send envía siempre al control/ventana actualmente activo, por lo que si tu juego esta detras o minimizado, no recibirá los comandos (1, 2, 3 y 4), para eso podemos intentar (digo intentar porque no con todos los programas funciona bien este comando)

Code: Select all

ControlSend , , {TECLA QUE QUIERES ENVIAR}, ahk_exe trose.exe
Al probarlo con notepad.exe funciona de 10, el notepad recibe los comandos estando minimizado o detrás de otras ventanas.



Este sería el código tuyo aplicando lo que te digo

Code: Select all

#IfWinExist, ahk_exe trose.exe
DetectHiddenWindows, on
F4:: ;
    stop = 0
    Loop
    {
        ControlSend , , {1}, ahk_exe trose.exe
        sleep, 1000
        ControlSend , , {2}, ahk_exe trose.exe
        sleep, 1000
        ControlSend , , {3}, ahk_exe trose.exe
        sleep, 1000
        ControlSend , , {4}, ahk_exe trose.exe
        sleep, 1000
        If stop = 1
            Break
    }
return

Esc::
    stop = 1
return
My WEB some useful stuff

Post Reply

Return to “Pedir Ayuda”