Logo Desarrollo


#IfWinActive:

Esta directiva sirve para que los atajos de teclado solo funcionen en un contexto determinado y no sean activado por error en alguna otra ventana, produciendo algún comportamiento inesperado.
Para poder utilizarlo correctamente debemos saber en principio el nombre o clase que le asigna windows a esa ventana. Al igual que con las coordenadas podríamos utilizar el WindowSpy, pero para facilitar mas la cosa les paso un script con el cual podrán capturar nombre y clase con atajos de teclado.

Descargar el script en .ahk

Con el script abierto. al pulsar windows c copiaremos al portapapeles el nombre de la clase de esa ventana, y con windows t El título


Ejemplos:

#If WinActive("AHK_Class Notepad")
Home::
Send {Volume_Up}
Return


End::
Send {Volume_Down}
Return


En este ejemplo al pulsar la tecla inicio subirá el volúmen general de windows, y con fin, descenderá. Sin embargo solo funcionará cuando estemos situados sobre una ventana abierta del block de notas. En cualquier otra ventana las teclas cumplirán su función normal. Podríamos también usar el título de la ventana en lugar de su clase, por lo que reemplazaríamos

"AHK_Class Notepad"

por

"Sin título: Bloc de notas"


Si quisiéramos que otro atajo, por ejemplo el de cerrar el script funcione en cualquier ventana tendremos que agregar antes del atajo el comando #If.


Ejemplo completo:

#IfWinActive AHK_Class Notepad
Home::
Send {Volume_Up}
Return


End::
Send {Volume_Down}
Return


#If
#q::
ExitApp