AutoHotkey is a free, open-source scripting language for Windows that allows users to easily create small to complex scripts for all kinds of tasks such as: form fillers, auto-clicking, macros, etc.


  • Free & open source (GNU General Public License).
  • A keyboard, joystick, and mouse remapper.
  • A word recognition engine that expands abbreviations as you type them (auto-replace).
  • A simple yet powerful hotkey (shortcut key) scripting language for Windows, supporting both mouse and keyboard macros (if you're new to scripting, it might be easier than you think; check out the quick-start tutorial).
  • A regular scripting language (backward compatible with most existing AutoIt2 scripts). The program includes a script compiler that converts a script to an EXE. It also includes AutoScriptWriter, a macro recorder written by Larry Keys.

What's New

  • Fixed an issue with hotkeys not firing due to a race condition. If a modifier hotkey such as ~*RWin:: called Send or GetKeyState too soon, the OS could report that RWin isn't down, so the hook's modifier state would be "corrected" and hotkeys would wrongly fire or fail to fire. This was likely to occur only if another keyboard hook was installed more recently than the script's own hook, since in that case the OS would not update key state until the other hook's thread has resumed and returned.
  • Fixed hotstrings to use the Last Found Window set by #If.
  • Fixed MouseGetPos, ControlClick, ContextMenu Gui events and DropFile Gui events erroneously detecting a control at a specific point which actually lies one pixel below or to the right of the control.
  • Fixed an issue where any attempt to reinstall the keyboard or mouse hook would fail if the OS had automatically uninstalled the hook. It is still necessary to meet certain conditions before any such attempt can be made.