Page 1 of 1

Iniciar script al ejecutar programa y cerrar al mismo tiempo que el programa

Posted: 03 May 2021, 20:18
by gael123321
Hola, alguien me podria ayudar con un script que cuando este ejecutandose un programa el script se inicie y cuando se cierre el programa tambien se cierre el script, espero me puedan ayudar, Gracias

Re: Iniciar script al ejecutar programa y cerrar al mismo tiempo que el programa

Posted: 09 Jul 2021, 11:36
by MAKERO
Hola Gael, tengo la misma duda. Lo estoy intentando de esta forma, pero soy muy novato aún y no he podido hacer funcional el script.

Investiga if WinExist y if not WinExist (Comprueba si existe la ventana especificada.)

Lo que intento hacer es:

--si el programa se está ejecutando, abrir script #1
--Si el programa se cierra, cerrar script #1 y abrir Script#2

¿Alguien que sepa como podemos hacerlo?

Llevo tres días intentándolo y ya empiezo a frustrarme. Quiero aprender!!! :oops:

Re: Iniciar script al ejecutar programa y cerrar al mismo tiempo que el programa

Posted: 10 Jul 2021, 00:28
by safetycar
En general, no se puede iniciar un script solamente porque otro programa se haya abierto.
El script tiene que estar ya abierto y esperando a que el otro programa se abra.
O... hacer un script que sea el acceso directo para el programa y así empieza a trabajar cuando él mismo llama al programa.

Una vez que el script y el programa estan abiertos, esperar a que se cierre podría ser algo como:

Code: Select all

#Persistent

WinWait, Nombre de la ventana
SetTimer, Supervisor, 1000 ; Temporizador cada 1s.

return

Supervisor() {
    if not WinExist("Nombre de la ventana") {
        RutaSegundoScript := "..."
        Run, % RutaSegundoScript
        ExitApp ; Cerrar este script
    }
}

Re: Iniciar script al ejecutar programa y cerrar al mismo tiempo que el programa

Posted: 08 Dec 2022, 19:39
by Stinjere
Puedes actualizarlo? quiero que mi Script se cierre, cuando el programa "especificado" se cierre. lamentablemente su script no me funcionó. no sé porqué pero agradecería que me ayude.

Re: Iniciar script al ejecutar programa y cerrar al mismo tiempo que el programa

Posted: 10 Dec 2022, 23:10
by Stinjere
@safetycar Necesito tu ayuda, por favor podrías actualizarlo? Necesito que mi Script se cierre, cuando el programa "especificado" se cierre. lamentablemente su script no me funcionó. no sé porqué pero agradecería que me ayude.

Re: Iniciar script al ejecutar programa y cerrar al mismo tiempo que el programa

Posted: 11 Dec 2022, 09:45
by sofista
@Stinjere Sugiero que publiques el script tal cual lo están usando, porque como no tenemos la bola de cristal, es difícil brindarte una ayuda específica. Pueden ser varias cosas las que podrían hacerlo fallar.

Re: Iniciar script al ejecutar programa y cerrar al mismo tiempo que el programa

Posted: 12 Dec 2022, 14:02
by Stinjere
Te comparto mi Script: @sofista

Code: Select all

#SingleInstance Force
; Script, que cierra programas en segundo plano.
Loop
{
Process, Close, WhatsApp.exe 
Sleep 60000
}
[Mod edit: [code][/code] tags added.]

Necesito que este Script se "cierre/termine/Acabe" de manera automática, sin necesidad de presionar una tecla en especifico, solo cuando por ejemplo; el programa "Valorant.exe" se cierre o yo mismo me salga del juego. no sé como podría hacerlo. me ayudarías por favor?

Re: Iniciar script al ejecutar programa y cerrar al mismo tiempo que el programa

Posted: 12 Dec 2022, 16:01
by sofista
@Stinjere Veo que también publicaste en el foro inglés y te ha respondido Rohwedder. Estás en buenas manos :)

Para adaptar el código de Rohwedder a tus necesidades, simplemente cambiá esta línea del script

Code: Select all

programa = Notepad.exe
por esta otra:

Code: Select all

programa = WhatsApp.exe
Transcurrido a lo sumo 1 segundo de cerrado el programa, se cierra el script.

Re: Iniciar script al ejecutar programa y cerrar al mismo tiempo que el programa

Posted: 12 Dec 2022, 17:09
by Stinjere
Eso sí sé, hacia referencia a como adaptarle mi código a su código de él. unir ambos códigos en uno solo. porque copié su código y lo pegué en el mío, y es como si no se activara, pues supongo tenemos que crear otro código incluyendo ambos códigos. es tan complicado ni se cual es el problema.

Mi código es este:

Code: Select all

#SingleInstance Force
Loop
{
Process, Close, WhatsApp.exe
Sleep 60000
}
como hago para fusionar mi código y el código de Rohwedder, para que funcionen ambos. alguna idea?

Re: Iniciar script al ejecutar programa y cerrar al mismo tiempo que el programa

Posted: 28 Dec 2022, 04:55
by elModo7
Quizá esto te valga, sólo tienes que cambiar los nombres de los ejecutables:

Code: Select all

#NoEnv
#SingleInstance, Force
#Persistent
; Abre notepad, manten WhatsApp abierto, si cierras notepad, WhatsApp se cierra también
proceso_comprobar = notepad.exe
proceso_cerrar = WhatsApp.exe

; Depende el programa necesitarás poner un SetWorkingDir delante o en el propio Run
Run, %proceso_comprobar% ; Abre notepad
Run, %proceso_cerrar% ; Abre WhatsApp
WinWait, ahk_exe %proceso_comprobar%
SetTimer, comprobarProceso, 500
return

; Comprueba que notepad siga abierto
comprobarProceso:
	Process, Exist, %proceso_comprobar%
	if(!ErrorLevel)
		Gosub, Salir ; Cierra WhatsApp porque notepad está cerrado
return

Salir:
	process := proceso_cerrar
	Process, Exist, %process%
	if	pid :=	ErrorLevel
	{
		Loop
		{
			WinClose, ahk_pid %pid%, , 5
			if	ErrorLevel
			Process, Close, %pid%
			Process, Exist, %process%
		}	Until	!pid :=	ErrorLevel
	}
ExitApp