Iniciar script al ejecutar programa y cerrar al mismo tiempo que el programa
Moderator: Flipeador
-
- Posts: 13
- Joined: 29 Apr 2021, 11:49
Iniciar script al ejecutar programa y cerrar al mismo tiempo que el programa
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
Last edited by gregster on 03 May 2021, 20:27, edited 1 time in total.
Reason: Topic moved to 'Pedir ayuda'. Please use the english language when posting in the general forums. Thank you!
Reason: Topic moved to 'Pedir ayuda'. Please use the english language when posting in the general forums. Thank you!
Re: Iniciar script al ejecutar programa y cerrar al mismo tiempo que el programa
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!!!
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!!!
Re: Iniciar script al ejecutar programa y cerrar al mismo tiempo que el programa
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:
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
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
@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
@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
Te comparto mi Script: @sofista
[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?
Code: Select all
#SingleInstance Force
; Script, que cierra programas en segundo plano.
Loop
{
Process, Close, WhatsApp.exe
Sleep 60000
}
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
@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
por esta otra:
Transcurrido a lo sumo 1 segundo de cerrado el programa, se cierra el script.
Para adaptar el código de Rohwedder a tus necesidades, simplemente cambiá esta línea del script
Code: Select all
programa = Notepad.exe
Code: Select all
programa = WhatsApp.exe
Re: Iniciar script al ejecutar programa y cerrar al mismo tiempo que el programa
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:
como hago para fusionar mi código y el código de Rohwedder, para que funcionen ambos. alguna idea?
Mi código es este:
Code: Select all
#SingleInstance Force
Loop
{
Process, Close, WhatsApp.exe
Sleep 60000
}
Re: Iniciar script al ejecutar programa y cerrar al mismo tiempo que el programa
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