AutoIt es un sencillo lenguaje de script para Windows basado en BASIC, que nos permite realizar de forma sencilla programas que automaticen tareas.

AutoIt es gratuito, está disponible para plataformas de 32 y 64 bits, y tiene una documentación, concisa y sencilla de entender.

Si ya se sabe programar en otros lenguajes, se puede empezar a escribir código con AutoIt en menos de media hora. La lista de funciones que soporta AutoIt, van desde las matemáticas más simples (Abs, Sin, …), hasta otras más esotéricas, como la del cálculo del checksum de los píxels de un rectángulo en pantalla (PixelChecksum), pasando por las habituales de gestión de archivos.

El programa está solamente disponible en inglés, pero hay documentación disponible en castellano (382 Kb. en formato ZIP).

El paquete de AutoIt, incluye un editor de programas basado en SciTE, que es más que suficiente para empezar a programar, un componente COM, para integrar facilmente guiones AutoIt en nuestros programas, y lo más interesante de todo, la utilidad Aut2Exe, que nos permite generar un ejecutable a partir de nuestro programa, de forma que podamos ejecutarlo en otras máquinas, independientemente de que tenga o no instalado AutoIt.

Tanto AutoIt, como los programas que generemos con él, funcionan perfectamente en sistemas desde Windows 95, hasta Windows Vista, aunque no es un lenguaje excesivamente veloz (no está diseñado para serlo), los scripts que se ejecutan son compactos.

Como muestra de su sencillez, os dejo Mouse.au3, un script, que se encarga de mover aleatoriamente el ratón por la pantalla hasta que se pulsa la tecla Escape:

#NoTrayIcon

Global $gbQuit=False;
Local $iXMouse, $iYMouse, $iSpeedMouse

MsgBox(0, "Mouse",
"Este programa mueve aleatoriamente el puntero del ratón por la pantalla." &
Chr(13) & "Pulsa ESC durante la ejecución para salir.")
HotKeySet ("{ESC}", "Quit")

Do
$iXMouse=Random(0, @DesktopWidth)
$iYMouse=Random(0, @DesktopHeight)
$iSpeedMouse=Random(50, 100)
MouseMove($iXMouse, $iYMouse, $iSpeedMouse)
Sleep(500)
Until $gbQuit

Func Quit()
$gbQuit=True
EndFunc

Para que podáis verlo en funcionamiento, podéis descargar aquí (217 Kb. en formato ZIP) el fuente y el binario del programa anterior.

En la página de descargas tenéis acceso a la última versión estable 3.2.8.1, así como la beta 3.2.9.1.