Elegir programa

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

Moderator: Flipeador

User avatar
randysejas
Posts: 21
Joined: 25 Jul 2018, 13:03

Elegir programa

24 Nov 2018, 11:58

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.
alfema
Posts: 32
Joined: 04 Sep 2015, 11:04

Re: Elegir programa

24 Nov 2018, 14:15

Supongo que a estas alturas ya habrás solucionado tu problema, yo uso

Code: Select all

WinActivate, título de la ventana
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

Code: Select all

WinWait
con un número determinado de segundos para que se visualice, usar

Code: Select all

IfWinNotActive
para verificar que sí está activada, ...
User avatar
randysejas
Posts: 21
Joined: 25 Jul 2018, 13:03

Re: Elegir programa

25 Nov 2018, 06:02

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
alfema
Posts: 32
Joined: 04 Sep 2015, 11:04

Re: Elegir programa

25 Nov 2018, 11:40

@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
}

Return to “Pedir Ayuda”

Who is online

Users browsing this forum: No registered users and 31 guests