esperar a que un proceso se abra y hacer algo Topic is solved

Esta sección es para preguntas sobre programación/scripting usando AutoHotkey.
Herchi
Posts: 11
Joined: 07 Mar 2018, 08:19

esperar a que un proceso se abra y hacer algo

28 May 2018, 02:26

Quería mejorar este código:

Code: Select all

;Si no está abierto el 'foobar2000' se abre
F9::
    If procesoExiste("foobar2000.exe") {
        Send ^{Media_Play_Pause}
    } Else {
        Run, "H:\Mis Documentos\_PORTABLES\Foobar2000 (portable)\foobar2000.exe"
        Sleep 1000
        Send ^{Media_Play_Pause}
    }
return

;función: devuelve un 'true' si el proceso de Windows funciona
procesoExiste(proceso) {
    Process, Exist, %proceso%
    return Errorlevel
}

a veces se atranca en el sleep, pues todavía no ha cargado el proceso foobar.
Por cierto, he probado con el

Code: Select all

IfWinExist, foobar2000 {
pero siempre da falso. No sé si existe pero quizás tendría que ser algo asi

Code: Select all

IfWinExist, *foobar2000* {
supongo que el sleep es una cutrez aquí y habría que poner un WinWaitActive pero creo que si no encuentro la ventana 'foobar' con el IfWinExist tampoco funcionará con el WinWaitActive








gracias
User avatar
Flipeador
Posts: 1018
Joined: 15 Nov 2014, 21:31
GitHub: Flipeador
Location: Argentina
Contact:

Re: esperar a que un proceso se abra y hacer algo  Topic is solved

28 May 2018, 08:04

Code: Select all

F9::
Process Exist, foobar2000.exe
If (!ErrorLevel)
{
    Run "H:\Mis Documentos\_PORTABLES\Foobar2000 (portable)\foobar2000.exe"
    WinWait ahk_exe foobar2000.exe
    WinActivate ahk_exe foobar2000.exe
}

Send ^{Media_Play_Pause}
return
Windws 1♂ Pro 64-Bits I make scripts for AHKv2 (my v2 compiler) & WIN_7+ Spanish Argentina SublimeText 3 & AHKv2 My GDI+ Library
Herchi
Posts: 11
Joined: 07 Mar 2018, 08:19

Re: esperar a que un proceso se abra y hacer algo

30 May 2018, 02:18

Flipeador wrote:

Code: Select all

F9::
Process Exist, foobar2000.exe
If (!ErrorLevel)
{
    Run "H:\Mis Documentos\_PORTABLES\Foobar2000 (portable)\foobar2000.exe"
    WinWait ahk_exe foobar2000.exe
    WinActivate ahk_exe foobar2000.exe
}

Send ^{Media_Play_Pause}
return
¡fantástico! gracias :bravo:

Return to “Pedir Ayuda”

Who is online

Users browsing this forum: No registered users and 4 guests