Added support for two-variable enumerators (for-loops) with IDispatch-wrapped AutoHotkey objects. Both the script invoking the object and the object itself must be running a supported AutoHotkey version.
Added support for ByRef VARIANT in incoming COM calls. Instead of receiving a ComObject wrapper with the VT_BYREF|VT_VARIANT variant type, the script receives a temporary variable compatible with a normal ByRef parameter.
Added support for omitting parameters in incoming COM calls. IDispatch allows omitting parameters by specifying a VARIANT of type VT_ERROR with value DISP_E_PARAMNOTFOUND. These values are now translated automatically instead of being wrapped in an object. The reverse translation was already done when calling COM methods in previous versions.
Fixed VerCompare(a, ">" b) and reduced code size marginally.
Fixed AltTab-related load-time errors to be consistent with other errors.
Fixed errors thrown by a ComObject wrapper not being propagated correctly if it is called via an object/COM.
Fixed the Hotkey GUI control to allow setting the symbols ^, ! and + as hotkeys.
Fixed the Hotkey control to include modifiers when its value is set to a symbol.
Fixed Menu Add overwriting items which were appended by Menu Insert.
Fixed potential misbehaviour of InputHook.KeyOpt() with single chars.
- Option removal potentially not affecting the corresponding SC.
- Options potentially also being applied to sc000.
Fixed a bug where a key-down event is correctly suppressed by a hotkey, but sending an additional key-down with SendLevel > 0 would prevent the subsequent key-up from being suppressed, even if the sent event is ignored due to #InputLevel.
Fixed a & b up:: not suppressing b if a & b:: is present but disabled by #If.
Optimized allocation of cached COM property names for built-in IDispatch.
Refactored code to support a build configuration for AutoHotkey as a DLL.
SHA256 hashes