Elegir programa
Moderator: Flipeador
- randysejas
- Posts: 21
- Joined: 25 Jul 2018, 13:03
Elegir programa
Buenas!... estoy utilizando ahk para poder realizar tareas entre por lo menos 2 programas... o sea, que estoy en un programa hago ciertas cosas y luego me voy a otro, por el momento estuve utilizando el atajo de windows alt+tab (dentro del código de ahk)... pero esto tiene un inconveniente..... lo que quiero hacer es elegir directamente el programa abierto...... no sé si me estoy haciendo entender... pero de todas maneras, muchas gracias por adelantado.
Re: Elegir programa
Supongo que a estas alturas ya habrás solucionado tu problema, yo uso Dependiendo de cómo funcione puedes hacer varias cosas, si no funciona a la primer meterlo en un bucle con una pausa en medio, usar después con un número determinado de segundos para que se visualice, usar para verificar que sí está activada, ...
Code: Select all
WinActivate, título de la ventana
Code: Select all
WinWait
Code: Select all
IfWinNotActive
- randysejas
- Posts: 21
- Joined: 25 Jul 2018, 13:03
Re: Elegir programa
Gracias alfema..... me sirvió tu ayuda... pero hay alguna manera de mejorar mi código??... lo que pasa es que después de utilizar WinActivate pongo un Sleep, ya que si no lo hago es como si todo pasara muy rápido y ocurren errores...
Code: Select all
F5:: ; Copiar tiempo y capítulo de PotPlayer (copiar el primero a mano para luego utilizar esto)
IfWinExist, Editor Marcador
{
WinActivate
Sleep, 600
Send, {tab 3}{down}{tab 4}
Send, ^{c}
WinActivate, MKVToolNix
Sleep, 600
Send, ^{v}!{n}
WinActivate, Editor Marcador
Sleep, 600
Send, {tab}^{c}
WinActivate, MKVToolNix
Sleep, 600
Send, ^{v}
}
Else
MsgBox, Abrir el Editor de Marcador de PotPlayer
Return
Re: Elegir programa
@randysejas en mis scripts siempre uso pausas porque a veces los programas no responden tan rápido como para ejecutar correctamente los comandos enviados, además suelo tratar de verificar si el comando se ejecutó correctamente dentro de las posibilidades de AutoHotKey y de la seguridad con que quiero que funcione el script, si me da igual pues lo hago básico, si quiero que funcione bien lo complico tanto como sea necesario.
Code: Select all
F5:: ; Copiar tiempo y capítulo de PotPlayer (copiar el primero a mano para luego utilizar esto)
vPausa := 500 ; medio segundo, ajustalo a los tiempos que te vayan bien
If !ActivaMarcador() ; Si no se activó la ventana de Marcador sale del script
Return
Sleep, vPausa
Send, {tab 3}{down}{tab 4}
Sleep vPausa
Loop 5 ; Por si no copia a la primera
{
Send, ^{c}
ClipWait,1 ; Espera 1 segundo por datos del portapapeles
If !ErrorLevel ; Si se ha copiado algo
Break ; Sale del bucle
Sleep, vPausa / 2
}
If ErrorLevel ; Si ha terminado el bucle y no ha copiado nada
Return ; Sale
WinActivate, MKVToolNix
Sleep, vPausa
Send, ^{v}!{n}
WinActivate, Editor Marcador
Sleep, vPausa
Send, {tab}^{c}
WinActivate, MKVToolNix
Sleep, vPausa
Send, ^{v}
Return
ActivaMarcador()
{
wResultado := True
Loop 5 ; 5 intentos para abrir PotPlayer
{
IfWinNotExist, Editor Marcador
{
MsgBox, 1 + 48, Aviso, Abrir el Editor de Marcador de PotPlayer ; 1 + 48 muestra OK y Cancel y el ícono de aviso
If MsgBox = Cancel ; Si no quieres seguir ...
{
wResultado := False
Break ; .. sale del bucle
}
}
WinActivate, Editor Marcador
WinWait, Editor Marcador,, 5 ; Espera 5 segundos
IfWinActive, Editor Marcador ; Si está activa ...
Break ; ... sale del bucle y termina
}
Return wResultado
}
Who is online
Users browsing this forum: No registered users and 31 guests