====== 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)