Automatiza todo: keyboard, mouse y Windows!

Si alguna vez has tenido la necesidad de automatizar cualquier tarea que repitas muchas veces con teclado y/o ratón y no has sabido ni como empezar a hacerlo, o te has vuelto loco tratando de hacer archivos de ejecución por lotes que tratasen de automatizar cualquier tarea que Windows permita automatizar a través de comandos; sin duda esta aplicación te va a gustar. Si eres avispado te darás cuenta enseguida de que además de facilitarte mucho las cosas, te lo puedes pasar muy bien haciendo uso de una herramienta que, si tuviese precio, pocos podrían pagarlo.
Afortunadamente no es el caso ya que hablamos de una aplicación GNU/GPL v2, lo que nos permite modificarla, distribuirla y jugar con sus librerías para crear tu propia aplicación.
Hablo de AutoHotkey, una maravilla de la ciencia que he tardado demasiado en descubrir...
Dirígete a la zona de descargas y descarga el instalador (recomendado para usuarios novatos) e instálalo o bien descarga el .zip (recomendado para usuarios avanzados) y descomprímelo en una carpeta de la ruta %PROGRAMFILES%.
Al ejecutar AutoHotkey.exe por primera vez, comprobará si en "%USERPROFILE%\Mis Documentos" existe el archivo AutoHotkey.ahk, si no existe te preguntará si quieres crearlo, puedes decirle que sí. Al momento te mostrará el script que ha creado, algo muy parecido a esto:
#a::Run http://adonay.name/ ; tecla Windows+A abre un nevegador en Adonay.name
^!n:: ; tecla Control+Alt+N
IfWinExist Sin título - Bloc de notas ; si existe la ventana llamada "Sin tilulo - Bloc de notas"
WinActivate ; enfocala
else ; si no
Run Notepad ; abre un Bloc de Notas
return ; sal de la ejecución
Este sencillo script es el que crea por omisión. Ese mismo archivo podemos ir editándolo con todos los atajos y comandos que queramos usar, todas las personalizaciones que queramos hacer para tener disponibles nada más arrancar AutoHotkey. Como no es bueno cargar mucho de comandos un script, para cualquier cosa que queramos hacer por separado o cualquier cosa que incluya gran número de comandos y/o movimientos de ratón, sería conveniente hacerlo en archivos .ahk diferentes a este. Digamos que este es el archivo base de AutoHotkey.
Si abrimos el archivo AutoHotkey.chm, situado en la misma carpeta que AutoHotkey.exe, podremos ver la gran cantidad de comandos, modificadores y símbolos de los que disponemos. Esto ayudará a entender mucho mejor cómo ejecutar las órdenes adecuadamente. Un tutorial a modo de guía de inicio rápida para empezar a crear un pequeño script, lista alfabética de todos los comandos y la explicación de cómo utilizarlos; en definitiva: toda la documentación necesaria para hacer auténticas virguerías. Echándole una ojeada se puede ver que podemos trabajar con cualquier cosa, desde descargas de archivos a través de internet, manejar procesos, comandos de sonido, control del mouse, control del teclado, etc, etc...
Un ejemplo, que es precisamente lo primero que escribí, sería el siguiente. Cópialo, pégalo en un bloc de notas y guárdalo como mysterygoogle.ahk. Una vez guardado ejecútalo con AutoHotkey.
Loop, 10
{
Run www.mysterygoogle.com
Sleep, 4000
Send, {TAB}adonay.name{ENTER}
Sleep, 4000
Send, {ALTDOWN}{F4}
Sleep, 4000
}
Esto mismo pero un poco más sofisticado quedaría así:
Run www.mysterygoogle.com ; abrimos el navegador en esta dirección
Sleep, 5000 ; le damos unos 5 segundos para arrancar
Send, {TAB}adonay.name{ENTER} ;enfocamos la barra de búsqueda
Sleep, 4000 ; le damos tiempo a cargar la página con los resultados misteriosos
Loop, 10 ; empezamos la feria y la repetimos 10 veces
{
Send, {ALTDOWN}{LEFT}{ALTUP} ; volvemos atrás
Sleep, 3000 ; le damos unos 3 segundos para volver atrás
Send, adonay.name{ENTER} ; volvemos a escribir lo mismo
Sleep, 3000 ; le damos tiempo a mostrar los resultados misteriosos
}
MsgBox Y todo esto sin usar el ratón, por que soy así de chulo ; mensaje
return ; salimos de la función
Si llegado a este punto ya te estás acojonando al pensar que vas a tener que escribir a mano todos los comandos de los movimientos que quieras hacer, con teclado y ratón, respira. AutoHotkey dispone de una gran aplicación, ideal para perezosos, que se encarga de Espiar y Grabar los movimientos que hagamos y de crear el script automáticamente en el momento en que guardamos el "espionaje". Si luego acabas de arreglar el script sustituyendo algunas lineas que son muy concretas para tu sistema por otras más eficaces o estandarizadas para otros escritorios, sin duda automatizar cualquier conjunto de movimientos ya no será ningún problema, por poco que sepas programar.
Abre AutoScriptWriter.exe, marca lo que quieres que grabe, pulsa Record y empieza a grabar todos los movimientos que desees que queden grabados (es importante que hagas esto sin titubear, con decisión). Detén el recorder, guarda el script en un archivo .ahk, ejecútalo y comprueba que funcione debidamente, luego observa que se pueden depurar los comandos con otros probablemente más eficaces encontrados en AutoHotkey.chm.
Si ves que las posiciones del ratón no se reproducen exactamente como las has hecho tú, abre AU3_Spy.exe (una aplicación que únicamente nos mostrará información sobre las ventanas por las que pasemos el ratón y las coordenadas) y localiza la posición exacta del cursor donde quieres que ejecute el click, luego modifica el archivo .ahk que has creado con el AutoScriptWriter.exe y cambia las coordenadas de esas posiciones de click del ratón.
Otra gran ventaja es el hecho de poder crear cualquier ejecutable (.exe) de un script (.ahk), ideal para cualquier máquina windows que no tenga instalado AutoHotkey, puedes hacerlo ejecutando el archivo Ahk2Exe.exe que sirve para compilar scripts.
Por último y para los más avanzados geek, la librería compartida AutoHotkey.dll permite programar cualquier aplicación haciendo uso de las funciones de AutoHotkey. Mejor no digo para qué puede ser esto ideal...
Creo que con esta información tenemos suficiente para empezar a jugar. Si me dejo algo importante o he explicado algo de manera que sólo yo lo puedo entender, avisa!!
A farmear!!