Download AutoHotkey 1.0.48

Spread the love

AutoHotkey is developed in C++ and allows you to put frequently used keystrokes, actions and/or button combos with the keyboard, mouse and gamepad behind a shortcut, so that the relevant action is performed in one go. In addition, it is possible to convert previously scripted key combinations from AutoIt2 to the AutoKey scripting language. The latest version of AutoHotkey has been given jersey number 1.0.48 and is available from this page downloadable in different versions. The release notes for this version look like this:

Compatibility: The change most likely to affect backward compatibility is that floating point numbers stored in variables now have higher precision. Scripts that rely on tiny differences in precision would either need to be reviewed and updated, or have their compatibility improved by using “SetFormat Float” (eg SetFormat, Float, 0.6) anywhere in the script. “SetFormat Float” disables the higher precision, but gives up some of the new, faster floating point performance.

Performance: The main theme of this release is faster performance. Almost all scripts should run faster — especially those that make heavy use of expressions and integer math/comparisons (which may run up to three times as fast). To achieve the full benefit, a script either should avoid using SetFormat or should use SetFormat’s fast mode.

Performance improvements

  • Expressions and function calls are compiled more heavily, making them much faster (especially complex integer expressions, including those with commas).
  • Binary numbers are cached for variables to avoid conversions to/from strings. This makes numerical operations involving variables much faster.
  • Literal integers in expressions and math/comparison commands are replaced with binary integers, which makes them faster; eg X+5 and “if x > 5”.
  • LOOPs, IFs, and ELSEs that have blocks (braces) are faster due to skipping the opening ‘{‘. A side effect is that the ‘{‘ is omitted from ListLines.
  • Thread-creation performance is improved, which should help rapid-fire threads in OnMessage(), RegisterCallback(), and GUI events.

Changes that might affect existing scripts (other than higher-precision floating point described at the top)

  • When “SetFormat, Integer, Hex” is in effect, assigning a literal decimal integer to a variable also converts it to hex. Usually this is only a display issue.
  • For OnMessage() performance, the message number and HWND arrive as standard numbers rather than appearing unconditionally as hex. Usually this is only a display issue.
  • To achieve various improvements in performance, scripts now use slightly more memory (proportionate to the number of variables and expressions).
  • Changed and fixed “if var is time” and other uses of YYYYMMDDHHMISS date-time stamps to recognize that months outside the range 1-12 are invalid. [thanks Nick]
  • Changed and improved dynamic function calling to allow passing more parameters than defined by a function, in which case the parameters are evaluated but discarded. [developed by Lexikos]

Other improvements

  • added function IsFunc()which indicates whether a function may be called dynamically. [developed by Lexikos]
  • Added the while loopwhich repeats its commands until its expression evaluates to false. [developed by Lexikos]
  • Added an assume static mode for functions. [developed by Lexikos]
  • Added built-in variables A_IsPaused and A_IsCritical. [developed by Lexikos]
  • Improved NumPut() to support UInt64 like DllCall(). [thanks Sean]
  • Improved mouse wheel support by adding WheelLeft and WheelRight as hotkeys and supporting them in Send, Click, and related commands. However, WheelLeft/Right has no effect on operating systems older than Windows Vista. [developed by Lexikos]
  • Upgraded compiled script compressor from UPX 3.00 to 3.03.

Fixes

  • Fixed inability to use MsgBox’s timeout parameter when the “Text” parameter had an expression containing commas.
  • Fixed “Menu, Delete, Item-that’s-a-submenu” not to disrupt the associated submenu. [thanks animeaime & Lexikos]
  • Fixed the GUI Hotkey control to return usable hotkey names even for dead keys (eg “^” instead of Zircumflex). [thanks DerRaphael]
  • Fixed RegDelete so that it won’t delete an entire root key when SubKey is blank. [thanks Icarus]
  • Fixed registry loops to support subkey names longer than 259 (rare). In prior versions, such subkeys would either be skipped or cause a crash. [thanks Krzysztof Sliwinski & Eggi]
  • Fixed FileSelectFolder by providing an option to make it compatible with BartPE/WinPE. [thanks markreflex]
  • Fixed window/control IDs (HWNDs), which in rare cases wrongly started with 0xFFFFFFFF instead of just 0x. [thanks Micahs]
  • Fixed inability of Send commands to use the Down/Up modifiers with the “}” character. [thanks neovars]

Version number 1.0.48
Release status Final
Operating systems Windows 9x, Windows NT, Windows 2000, Windows XP, Windows Server 2003, Windows Vista
Website AutoHotkey
Download
License type Freeware
You might also like