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.
Features
- 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
Changed GroupActivate and GroupClose to behave more intuitively:
- Evaluate windows against the window group as a whole, not individual window specifications.
- When GroupClose indirectly causes another matching window to activate, leave it active even if it isn't matched by the same window specification.
- Contributions by jeeswg (pull requests #186, #235, #240, #249, #273, #274):
- Backported operators !==, >>> and >>>= from v2.
- Backported A_InitialWorkingDir from v2.
- Backported File.Handle from v2.
- Backported A_Clipboard from v2.
- Backported IsSet() from v2.
Bug-fixes:
- Fixed a spelling error in the #Warn Unreachable message.
- Fixed FileCreateDir handling of paths containing ".." or "/".
- Fixed some issues with FileSelectFile's RootDir\Filename parameter:
- Filename not being used when RootDir is a badly formatted CLSID.
- Undefined behaviour for long paths when GetShortPathName fails (such as when long path awareness is disabled or there's a default filename which isn't an existing file).
- Fixed FileSetTime to set A_LastError if it finds no files.
- Fixed EnvAdd/+= losing precision when adding 115,292,150,461+ seconds.
- Fixed the keyboard hook reinserting a suppressed dead key when Enter is pressed, such as in the sequence 'o{Enter} when the following is true:
- A separate script has suppressed "ò" due to :?*:ò::.
- The current process also has active hotstrings.
- The other process installed its hook last.
- Fixed ControlGet List "Selected" option repeating output on x64 when the target is 32-bit.
- Fixed stack corruption for ControlGet List "Count" options.