====== AutoHotkey ======
Lenguaje de //scripting// para automatización de tareas Windows. Open source.
* [[https://www.autohotkey.com/|Web oficial]]
* [[https://github.com/Lexikos/AutoHotkey_L|Repositorio oficial]] (GitHub)
* [[https://www.autohotkey.com/docs/AutoHotkey.htm|Documentación oficial]]
Permite definir atajos de teclado para el ratón y teclado, reasignar teclas aplicar transformaciones del texto...
===== Uso =====
AutoHotkey necesita un script para funcionar. Si lo ejecutamos sin indicarle ninguno, nos abrirá la ayuda.
==== Sustituciones de texto ====
Las //hotstrings// se utilizan para "expandir" ciertas abreviaturas cuando son escritas, es decir, reemplazan un texto por otro. Se definen entre cuatro dos puntos (''::''):
::bd::Buenos días
::hi::¡Hola!
Si ejecutamos el script, cada vez que escribamos ''bd'', AutoHotkey lo cambiará por ''Buenos días''.
Si queremos que estos reemplazos de texto solo afecten a cierto programa/ventana, primero tenemos que saber cómo AutoHotkey las identifica. Con AutoHoykey abierto, vamos a la barra de tareas, pulsamos en su icono con el botón derecho y seleccionamos **Window Spy**. Se abrirá una ventana que nos dará información sobre la ventana activa. Anotamos lo que ponga en ''ahk_class'' y lo usamos en el script:
#IfWinActive, ahk_class Notepad
::hm::Hola, mundo
La //hotstring// solo funcionará en el bloc de notas de Windows. Esto mismo también se puede hacer con las //hotkeys//.
==== Combinaciones de teclas ====
Las //hotkeys// son una tecla o combinaciones de teclas que puedes presionar para ejecutar acciones. A diferencia de las //hotstrings//, las //hotkeys// solo llevan los dos puntos dobles a la derecha y se cierran mediante ''return'':
!j::
Send, jajajajaja
return
''!j'' simboliza la combinación Alt + j. Cuando pulsemos dicha combinación, se escribirá ''jajajajaja''
!k::
Run, notepad.exe
return
Con el comando ''Run'' hacemos que se ejecute un programa o que se abra una página web, según lo que le indiquemos. Si el programa está en una ruta fuera del path, debemos indicar la ruta completa entre comillas:
!k::
Run, "D:\apps\Sublime_Text\sublime_text.exe"
return
Lo mismo podríamos hacer para abrir carpetas:
!k::
Run, "D:\apps"
return
Listado breve de //hotkeys//:
^ Símbolo ^ Descripción ^
| ''!'' | Alt |
| ''^'' | Ctrl |
| ''+'' | Shift |
| ''<^>!'' | AltGr |
| ''#'' | Win |
* [[https://www.autohotkey.com/docs/Hotkeys.htm|Hotkeys]]
==== Ratón ====
!j::
click 1250, 200, 0,
Send, Texto
return
===== Compilar script =====
Podremos crear un ejecutable a partir de un script. Botón derecho sobre el fichero ''.ahk'' y seleccionamos **Compile script**.
Si quisiéramos hacer el proceso inverso, es decir, a partir de un ejecutable, obtener el script, podemos usar un //decompilador// para Windows como [[http://www.angusj.com/resourcehacker/|Resource Hacker]]. Basta arrastrar el ejecutable a Resource Hacker y en los recursos que se mostrarán en el panel lateral, desplegar la carpeta **RCData** y pulsando en la entrada //AUTOHOTKEY SCRIPT// aparecerá el código del script.
Completar la explicación con una captura del programa Resource Hacker
===== Recursos =====
* [[https://www.youtube.com/watch?v=hZRggm8RkhM|Tutorial para principiantes de Auto Hotkey | Cómo aprender las teclas de acceso rápido automático]] (YouTube)