Quick Macros Changelog

What's new in Quick Macros 2.4.12.2

Aug 22, 2021
  • Fixed: In QM 2.4.12.1 does not work "Run in separate process" when the file is qmm.

New in Quick Macros 2.4.12.1 (Aug 9, 2021)

  • Fixed: Ctrl+Alt+key trigger key cannot be repeated without releasing modifiers if in current keyboard layout the right Alt key is the same as Ctrl+Alt.

New in Quick Macros 2.4.12.0 (Mar 10, 2021)

  • Removed process UAC property uiAccess when running as administrator (was Administrator+uiAccess, now just Administrator). Also it is not recommended to use "Run as uiAccess" in Options. Because Windows has too many bugs with it. Because of this change, some (rare) code in macros may behave differently.
  • Fixed: mouse commands in some cases set wrong cursor position when moving to another monitor.

New in Quick Macros 2.4.11.0 (Dec 21, 2020)

  • Fixed: paste+ ignores + and always uses clipboard. Only its old alias outp+ uses keys as documented.
  • Fixed: key and similar functions slow if the active window is a Windows 10 Store app. Now with these windows is used opt keysync 2 instead of default 0 or 3.
  • Fixed: does not find Windows 8 Store app windows in some cases. In QM and default exe manifests added <disableWindowFiltering>true</disableWindowFiltering>.

New in Quick Macros 2.4.11.0 Beta (Jul 19, 2020)

  • Per-monitor DPI aware on Windows 10. Some high-DPI improvements on older OS too. Below are details.
  • Correctly scales text and icons in QM editor window and dialogs.
  • Automatically scales text and icons in user toolbars and menus.
  • Automatically scales user dialogs and most controls.
  • In QM and default exe manifests added <dpiAwareness>PerMonitorV2</dpiAwareness>.
  • New functions: DpiGetWindowDPI, DpiGetMonitorDPI, __ImageList.DpiScale.
  • New __Font functions: CreateNew, CreateStd, CreateFrom. Use in DPI-aware code.
  • Fixed: QM "child window from point" functions get wrong control in windows that are in monitors with different DPI than primary monitor.
  • Fixed: toolbars cannot be attached to DPI-scaled windows when using multiple monitors with different DPI.
  • Fixed: sometimes QM hangs on exit.
  • Fixed: no icon if file or shortcut target is in 64-bit System or Program Files folder and not in 32-bit folder.
  • Removed safe saving limitation of str.setfile etc: fails if the file system is not NTFS.
  • The code edit control now is Scintilla 4.4.3.
  • The floating toolbar now is in QM window.

New in Quick Macros 2.4.10.0 (Jan 24, 2020)

  • Fixed bug: fails to get icons from macro resources.

New in Quick Macros 2.4.9.0 (Aug 31, 2019)

  • In Options added checkox "Attach toolbars less tightly". It prevents DPI-scaling of QM windows when a toolbar is attached to a DPI-scaled window when using multiple monitors with different DPI.

New in Quick Macros 2.4.8.2 (Mar 29, 2019)

  • Fixed bug in function tok: when used arr2 (delimiter tokens), every 32-th its element has incorrect length.

New in Quick Macros 2.4.8.1 (Mar 18, 2019)

  • Fixed bug in dialog editor: in multipage dialogs selects controls from hidden pages.

New in Quick Macros 2.4.8 (Dec 25, 2018)

  • Fixed bug: memory leak in GetFilesInFolder, FE_Dir (used with foreach to enumerate files), Dir.dir, IEnumFiles.
  • Function RunConsole2: added flags for UTF-8 and some other text encodings. Also now does not fail when the program is in the 64-bit system folder and not in the 32-bit folder.
  • Functions IntGetFile, Http.Get, Http.GetUrl: added parameter sendHeaders.

New in Quick Macros 2.4.7.0 Beta (Oct 14, 2017)

  • Main new features:
  • Works better with new versions of Firefox and Chrome web browsers.
  • All new features:
  • Functions that can use Firefox and Chrome web page element attributes and HTML now support 64-bit Firefox/Chrome too. Previously only 32-bit. Note: with Chrome it works only if is installed Firefox of same 32/64 bit as Chrome. These functions are Acc.Find, Acc.FindFF, Acc.WebX functions, FFNode class functions.
  • Fixed: With Firefox 56, Acc.Find and similar functions are slow (always > 1 s) when using option "in web page" or "as Firefox node".

New in Quick Macros 2.4.6.0 Beta (Sep 6, 2017)

  • Fixed:
  • With new Firefox versions, Acc.Find and similar functions are slow (always > 1 s) when using option "in web page" or "as Firefox node".
  • With new Chrome versions, cannot enable Chrome web page accessible objects. More info.
  • With some new Chrome versions, in the "Find accessible object" dialog, the Window field contains text "Invalid window".

New in Quick Macros 2.4.5.0 (Feb 28, 2017)

  • Fixed:
  • str.setsel and str.setclip: if text contains Unicode characters, sets wrong clipboard text, possibly throws exception or corrupts memory.
  • lef/rig/mid/dou flag 4 ignored when window is 0.

New in Quick Macros 2.4.4.0 (Nov 7, 2016)

  • More options in:
  • Several System functions have new flags or parameters. Search for text "2.4.4".
  • New functions:
  • HtmlDoc.GetTable2D.
  • Fixed:
  • Current Chrome version: often cannot capture accessible objects.
  • Current Windows 10 version: attached toolbars are visible on all virtual desktops.
  • hid- restores maximized or minimized window.
  • Editor: no member info for some variables if the number of variables exceeds about 240.

New in Quick Macros 2.4.3.8 (Feb 19, 2016)

  • In 2.4.3.8 fixed: invalid signature of quickmac.exe (installer) of version 2.4.3.7.

New in Quick Macros 2.4.3.7 (Jan 27, 2016)

  • New in QM language:
  • Shared sub-functions.
  • Private/protected class members can be accessed from any QM item named ClassName_X.
  • New functions and controls:
  • IsWindowCloaked, WinTest, DT_SetControl, DT_GetControl.
  • ICsv member functions CellInt, CellHex, AddRow1, AddRow3, AddRowsCSV, ReplaceRowsCSV.
  • ShowDropdownList.
  • Controls QM_ComboBox and QM_Edit.
  • More options in:
  • scan: multiple images, search in accessible object, can be faster. Also in related functions - wait C and pixel.
  • Other functions: RealGetNextWindow, GetMainWindows, GetWindowIcon, CloseWindowsOf, ShowMenu, ICsv.Find.
  • Some enhancements in dialogs: Find, Dialog Editor, Toolbar properties.
  • Fixed:
  • Problems on Windows 10 or/and 8 with: DPI-scaled windows, Win10 app windows, topmost windows, shell menu icons, unlock computer, mouse triggers after sleep, and more.
  • Incorrect behavior on RT error in a callback function. For example, on error in a dialog procedure, ShowDialog returns 1 (must end thread immediately).
  • Incorrect wait-for-handle behavior if the handle is 0. For example, wait 5 H 0 behaves like wait 5.
  • If two member functions have sub-functions with same name, and they call them with a variable (var.sub.Func), may be called wrong sub-function (of other member function).
  • QM in some cases stops working on run-time error/end in dialog/window procedures.
  • QM stops working on stack overflow exceptions.
  • In 2.3.4.5 fixed: on some XP and Vista computers cannot use some floating toolbar dialogs and function Htm.FromXY.
  • In 2.3.4.6 fixed: QM stops working when trying to open macro/function properties.
  • In 2.3.4.7 fixed: lef/rig/mid/dou flag 4 ignored. And several other bugs.
  • And more.
  • What can be incompatible with previous versions:
  • Does not support Windows 2000.
  • Replacing the default QM floating toolbar by setting registry value "GinDi\QM2\User\Tools:Toolbar" now does not work.
  • As always, will need to rename your functions that have names of the new QM functions.

New in Quick Macros 2.4.3.4 (Sep 16, 2015)

  • Works better on Windows 8-10.
  • Shared sub-functions.
  • Several new functions; more features in scan and some other functions.
  • Bug fixes.

New in Quick Macros 2.4.3.3 (Sep 10, 2015)

  • Includes changes from the previous Beta version

New in Quick Macros 2.4.3.2 Beta (Aug 31, 2015)

  • Some enhancements in dialogs: Find, Dialog Editor.
  • New in QM language:
  • Shared sub-functions.
  • Private/protected class members can be accessed from any QM item named ClassName_X.
  • New functions and controls:
  • IsWindowCloaked, WinTest, DT_SetControl, DT_GetControl.
  • ICsv member functions CellInt, CellHex, AddRow1, AddRow3, AddRowsCSV, ReplaceRowsCSV.
  • ShowDropdownList.
  • Controls QM_ComboBox and QM_Edit.
  • More options in:
  • scan: multiple images, search in accessible object, can be faster. Also in related functions - wait C and pixel.
  • Other functions: RealGetNextWindow, GetMainWindows, GetWindowIcon, CloseWindowsOf, ShowMenu, ICsv.Find.
  • Fixed:
  • Problems on Windows 10 or/and 8 with: DPI-scaled windows, Win10 app windows, topmost windows, shell menu icons, and more.
  • Incorrect behavior on RT error in a callback function. For example, on error in a dialog procedure, ShowDialog returns 1 (must end thread immediately).
  • Incorrect wait-for-handle behavior if the handle is 0. For example, wait 5 H 0 behaves like wait 5.
  • If two member functions have sub-functions with same name, and they call them with a variable (var.sub.Func), may be called wrong sub-function (of other member function).
  • QM in some cases stops working on run-time error/end in dialog/window procedures.
  • QM stops working on stack overflow exceptions.
  • And more.
  • What can be incompatible with previous versions:
  • Does not support Windows 2000.
  • Replacing the default QM floating toolbar by setting registry value "GinDi\QM2\User\Tools:Toolbar" now does not work.
  • As always, will need to rename your functions that have names of the new QM functions.

New in Quick Macros 2.4.2.2 (Nov 24, 2014)

  • New in:
  • win: new properties: threadId, processHandle.
  • str.ConvertEncoding: supports charset names and can detect encoding from text.
  • Now functions can have more than 255 local variables.
  • Bug fixes:
  • run returns an invalid value if hwnd used.
  • And more.
  • Includes changes from the previous Beta version.

New in Quick Macros 2.4.2.1 Beta (Sep 2, 2014)

  • Dialog Editor: better supports sub-functions; copy/paste controls; capture alien controls; Tab-select controls; styles for more classes; SysLink controls; and more.
  • Creates and manages scheduled tasks configured for Windows Vista and later.
  • Macros can be set to run simultaneously, like functions.
  • Menu editor. Creates menu definition for dialog menu bar or popup menu.
  • Acc/acc supports accessible objects in Java applications, including OpenOffice and LibreOffice.
  • New functions:
  • DT_MouseWheelRedirect, DT_SetMenuIcons.
  • IXmlNode: DeleteChild, DeleteAttribute.
  • MenuPopup.Create. Creates from menu definition. ShowMenu also supports menu definition.
  • Acc.JavaAction.
  • New in:
  • RtOptions: can change some initial run-time options as with opt.
  • ExcelSheet.Cell can get comment and hyperlink.
  • QM grid control: added style to drag and drop rows.
  • Bug fixes:
  • Unicode mode is not set by default on user accounts where QM was not installed.
  • The 'Find help, functions, tools' tool does not index many words.
  • Sometimes error after changing type/class definition.
  • Acc.GetChildObjects: clears the variable.
  • Chrome auto-enabing accessible objects does not work first time.

New in Quick Macros 2.4.1.8 (Jun 23, 2014)

  • Updated QM icon. Fixed some small bugs.

New in Quick Macros 2.4.1.7 (Jun 12, 2014)

  • Main new features:
  • Better supports macro resources.
  • Records and displays images.
  • Sub-functions.
  • Several new functions. Improvements in some functions and other features.
  • Bug fixes.
  • All new features:
  • Many QM file/image functions support macro resources.
  • Added dialog 'Resources' to manage macro resources.
  • Displays images in the code editor. More info.
  • Can display images in output and tips controls.
  • Records screenshots (small images) and displays in the code editor. More info.
  • New functions
  • #sub - sub-functions.
  • #region, #endregion - hide/collapse code blocks in the code editor.
  • QM file management functions.
  • ExeOutputWindow, RedirectQmOutput.
  • ExeConsoleWrite, ExeConsoleRead, ExeConsoleRedirectQmOutput.
  • ListDialog (replaces list).
  • FileGetAttributes, FileSetAttributes.
  • Dir class: TimeModifiedUTC, TimeModifiedLocal, TimeCreatedUTC, TimeCreatedLocal, TimeAccessedUTC, TimeAccessedLocal.
  • Acc.NotFound, Htm.NotFound.
  • DT_SetAutoSizeControls.
  • GetQmItemsInFolder, InitWindowsDll.
  • str.swap.
  • New in
  • You can explicitly set address of functions declared with dll-, like &Func=address, and it can be any function, not just dll.
  • dll function pointer parameters: Can declare with & (reference). Can pass variables without operator &.
  • Directives: #if/#ifdef/#ifndef can be nested in other #if/#ifdef/#ifndef or #else code block. Also now most directives can be tab-indented.
  • mes, inp and other standard dialogs: links.
  • opt: save/restore current opt and spe settings.
  • getopt: itemname.
  • sel: flags 4 (regular expressions) and 8 (null string match "").
  • run: flag 0x40000 - support more verbs, including "Properties".
  • C# and VB.NET functions: supports .NET 4.x.
  • RtOptions: net_clr_version (for C# and VB.NET functions).
  • QmHelp and help tags: can use QM help topic name instead of path.
  • ArrangeWindows: action 8 - Flip 3D.
  • SelectTab: can use tab name instead of index.
  • Trigger QM show: added option 'Run synchronously'. Can be used to show a password dialog.
  • New in QM window
  • Menu File -> Open/Close Item -> Open in primary/secondary/both editors.
  • Menu File -> Item+ -> Copy name/path.
  • Menu File -> File+ -> Find item in files.
  • Menu Edit -> Lines -> Hide selected. Inserts #region directive.
  • Menu Edit -> View -> Indentation. Shows indentation guides.
  • Menu Edit -> View -> Multiple selections. You can make multiple selections with Ctrl.
  • Menu Run -> Compile Options -> Show unused variables.
  • Find: Replacing macro names and triggers.
  • Find: Better highlighting.
  • New in Dialog Editor
  • Visible grid.
  • Right-drag to resize dialog.
  • Alt+drag to move/resize precisely.
  • Can create console exe.
  • Bug fixes:
  • QM 2.4.0 bug: does not get Windows Forms (.NET) control name. Affected functions: child, acc, Acc.Find, RecGetWindowName.
  • QM 2.4.0 bug: records incorrect mou data when selected Variable.
  • QM 2.4.0 bug: newitem always creates new folder if folder specified without path.
  • QM 2.4.0 bug: scan "file.bmp" shows some text in QM output.
  • Sometimes on Windows shutdown/restart/logoff does not save some settings and does not call global variable destructors.
  • Exe exits on cancelled Windows shutdown/restart/logoff.
  • Some ERRC_ constants may be incorrect after reopening QM file.
  • The 'end-macro' hotkey does not work while executing key.
  • run fails if used ITEMIDLIST string with more string arguments.
  • ArrangeWindows 0 not always works.
  • POP3 email functions: error when with flag 0x100 (progress dialog).
  • zip-: files extracted from some zip files are read-only.
  • And more.
  • What can be incompatible with previous versions:
  • If you have functions with same names as the new functions, will need to rename or delete them.

New in Quick Macros 2.4.1.4 Beta (May 23, 2014)

  • New functions:
  • #sub - sub-functions.
  • #region, #endregion - hide/collapse code blocks in the code editor.
  • FileGetAttributes, FileSetAttributes.
  • Dir class: TimeModifiedUTC, TimeModifiedLocal, TimeCreatedUTC, TimeCreatedLocal, TimeAccessedUTC, TimeAccessedLocal.
  • Acc.NotFound, Htm.NotFound.
  • DT_SetAutoSizeControls.
  • GetQmItemsInFolder, InitWindowsDll.
  • str.swap.
  • New in:
  • You can explicitly set address of functions declared with dll-, like &Func=address, and it can be any function, not just dll.
  • dll function pointer parameters: Can declare with & (reference). Can pass variables without operator &.
  • Directives: #if/#ifdef/#ifndef can be nested in other #if/#ifdef/#ifndef or #else code block. Also now most directives can be tab-indented.
  • mes, inp and other standard dialogs: links.
  • opt: save/restore current opt and spe settings.
  • getopt: itemname.
  • sel: flags 4 (regular expressions) and 8 (null string match "").
  • run: flag 0x40000 - support more verbs, including "Properties".
  • C# and VB.NET functions: supports .NET 4.x.
  • RtOptions: net_clr_version (for C# and VB.NET functions).
  • ArrangeWindows: action 8 - Flip 3D.
  • SelectTab: can use tab name instead of index.
  • New in QM window:
  • Menu File -> Open/Close Item -> Open in primary/secondary/both editors.
  • Menu File -> Item+ -> Copy name/path.
  • Menu Edit -> Lines -> Hide selected. Inserts #region directive.
  • Menu Edit -> View -> Indentation. Shows indentation guides.
  • Menu Edit -> View -> Multiple selections. You can make multiple selections with Ctrl.
  • Menu Run -> Compile Options -> Show unused variables.
  • Find: Replacing macro names and triggers.
  • Find: Better highlighting.
  • New in Dialog Editor:
  • Visible grid.
  • Right-drag to resize dialog.
  • Alt+drag to move/resize precisely.
  • Bug fixes:
  • Sometimes on Windows shutdown/restart/logoff does not save some settings and does not call global variable destructors.
  • Exe exits on cancelled Windows shutdown/restart/logoff.
  • Some ERRC_ constants may be incorrect after reopening QM file.
  • The 'end-macro' hotkey does not work while executing key.
  • run fails if used ITEMIDLIST string with more string arguments.
  • ArrangeWindows 0 not always works.
  • POP3 email functions: error when with flag 0x100 (progress dialog).

New in Quick Macros 2.4.1.0 Beta (Mar 22, 2014)

  • Many QM file/image functions support macro resources.
  • Added dialog 'Resources' to manage macro resources.
  • Displays images in the code editor.
  • Can display images in output and tips controls.
  • Records screenshots (small images) and displays in the code editor. More info.
  • New in the Find dialog: Replacing macro names and triggers. Better highlighting.
  • New functions:
  • QM file management functions. Added in QM 2.4.0, documented in this version.
  • ExeOutputWindow, RedirectQmOutput, GetQmItemsInFolder.
  • ListDialog (replaces list), DT_SetAutoSizeControls, Acc.NotFound, Htm.NotFound.
  • New in:
  • QmHelp and help tags: can use QM help topic name instead of path.
  • Bug fixes:
  • The 'end-macro' hotkey does not work while executing key.
  • QM 2.4.0 bug: newitem always creates new folder if folder specified without path.
  • QM 2.4.0 bug: scan "file.bmp" shows some text in QM output.
  • And more.
  • What can be incompatible with previous versions:
  • If you have functions with same names as the new functions, will need to rename or delete them.

New in Quick Macros 2.4.0.1 Beta (Jan 24, 2014)

  • New QM file format, and related changes.
  • Changes in user interface:
  • Moving multiple QM items: Right-drag to check. Drag all checked.
  • In the list of QM items added special folders "Deleted" (deleted items) and "Temp" (temporary items). Can drag to delete/undelete, or to make temporary or not.
  • The "Open items" list now is auto-ordered. Removed toolbar buttons "Previous" and "Next", use the "Open items" list instead.
  • Bookmarks replaced with Tags.
  • And more small changes. Search for "2.4.0" in this Help file.
  • New functions:
  • FileExists (replaces dir).
  • Dir class: several new member functions.
  • New in:
  • str.setfile, IXml.ToFile, ICsv.ToFile: safe/atomic saving and backup.
  • wait: Added HMA to wait for all handles. Uses alertable waiting.
  • New options and changes in newitem, Sqlite.Open, FE_Dir, GetFilesInFolder, QM grid control styles.
  • Removed features:
  • Bookmarks+searches pane. Bookmarks replaced with Tags. Saved searches now are only in the Find dialog.
  • Command line: M with L.
  • Toolbar settings: /ini.
  • Options -> Security -> Lock file.
  • Options -> Files -> Always add these shared files.
  • Menu File -> Item -> Sort.
  • Bug fixes:
  • Menu File -> File... -> File Properties does not work.
  • Some triggers don't work if there are 10 or more user sessions. Window, autotext, accessible object and shell menu triggers.
  • Sometimes QM crashes in debug mode.
  • Auto-enabling accessible objects in new Chrome versions.
  • What can be incompatible with previous versions:
  • May need to manage QM files differently. See also: network setup, backup.

New in Quick Macros 2.3.6.0 Beta (Aug 2, 2013)

  • Supports DPI-scaled windows.
  • New functions:
  • Htm.Hwnd.
  • New in:
  • mov: option + (move and resize).
  • end: flag 32 (temporary).
  • Bug fixes:
  • QM 2.3.5 bug in Dialog Editor: when adding control, sometimes moves other control.
  • Sometimes incorrectly records mouse movements.
  • When ending debug mode, sometimes executes some more code.
  • Autotext triggers: sometimes does not work if not using low level hooks.
  • What can be incompatible with previous versions:
  • In DPI-scaled windows old QM would record mouse clicks with incorrect coordinates. In some cases the macro would work anyway, but now it will not work, need to record again. Same with all mouse and window functions that use coordinates (x, y, width, height) in DPI-scaled windows.

New in Quick Macros 2.3.5.8 Beta (Jun 26, 2013)

  • Can be installed in a removable drive and run as portable app.
  • Class CsScript, functions CsExec, CsFunc, VbExec, VbFunc. Compiles and executes C# or VB.NET code.
  • Autotext (TS menu): Supports items that begin with a delimiter character.
  • Shell menu triggers: Improvements and optimizations.
  • File saving and backup: Improvements and optimizations.
  • Recording: Now also records mouse wheel and X1/X2 buttons.
  • Dialog editor: Drag and drop to add controls.
  • Unlock computer: can run a program.
  • Some changes in VARIANT and ARRAY.
  • Fixed bugs and removed some limitations in assignment VARIANT=ARRAY.
  • Converts array type in assignments ARRAY(BSTR)=ARRAY(str), VARIANT=ARRAY(str) and vice versa.
  • VARIANT better supports long (64-bit integer) type. Added member llVal etc. In assignment VARIANT=long, stores the value as VT_I8 (previously VT_DECIMAL). And more.
  • In assignment VARIANT=&Function, stores the value as VT_I4 (previously VT_I4|VT_BYREF).
  • Several other small improvements.
  • Other new functions and classes:
  • PerfFirst, PerfNet, PerfOut. Shows time spent executing code.
  • CompareFilesInFolders, InputBox.
  • DT_SetAccelerators (dialog hot-keys), TriggerInfoAutotext, MessageLoopOptions, GetNetRuntimeFolder.
  • __ComActivator and __ComActivator_CreateManifest. Use COM and .NET COM components without registry.
  • __SharedMemory. Memory that can be used by multiple processes.
  • GetCallStack, IsValidCallback.
  • New in:
  • GetFilesInFolder can get file size or time; easy to sort.
  • opt nowarningshere, opt noerrorshere.
  • Make exe: adds text of macros from string constants like "macro:MacroName". Read more.
  • tok: Can trim blanks, etc.
  • New predefined variable _portable.
  • New special folders $drive$ and $temp qm$.
  • str.setfile and most other QM file-write functions: auto-creates parent folder.
  • And more. To find all, search for string 2.3.5 in this Help file and in QM.
  • Bug fixes:
  • Memory leaks.
  • Keyboard triggers: with some macros, after Alt+key or similar trigger, for several seconds behaves like if Alt is pressed.
  • And more.
  • What can be incompatible with previous versions:
  • If you have functions with same names as the new system functions, you will have to rename or delete them.

New in Quick Macros 2.3.4.6 (Jan 29, 2013)

  • WindowText class. Captures window text, clicks an item, etc. Look in floating toolbar -> Windows, controls.
  • New functions and classes:
  • ChangeFileSecurity, CaptureWindowAndRect, WshExec, RtOptions, QmSetWindowClassFlags.
  • New in:
  • Dialogs: easy tooltips. Look in Dialog Editor.
  • F strings: Coloring etc, like in other code. Suports strings in variable fields, enclosed in `.
  • win, child: New syntax with CSV string instead of x y. Can find window containing specified child window. child supports Windows Forms (.NET) control name, accessible name and more.
  • but: Supports Windows Forms (.NET) controls better.
  • wait WT: wait for specified window name.
  • run: added flag to run 64-bit system programs.
  • bee: Supports ":resId file.wav" syntax that allows to easily add the wav file to exe.
  • #exe addfile: supports any resource type.
  • Make exe: can add version info.
  • IStringMap, ICsv, IXml: Supports _create. Added member functions to set flags.
  • ICsv: New functions Find, AddRow2, FromArray, ToArray.
  • Database: CsAccess and CsExcel support file formats used by Office 2007+.
  • Supports png images in dialogs etc.
  • File triggers: Can watch only files, only folders, or all.
  • Window class name in all QM functions and triggers can be with wildcard characters. Previously would need a flag.
  • New QM output tags: mes, out.
  • More options in some other functions.
  • It is possible to use COM components without registration.
  • Exe: don't need to register QM COM components on other computers. These are mailbee.dll (used by QM email functions) and arservicesmgr.dll (used with Services functions). Need just these dlls in exe folder.
  • Optimizations, changes, etc:
  • Better Windows 8 compatibility.
  • Removed qm64 process on 64-bit Windows.
  • Simplified floating toolbar dialogs. Added tooltips.
  • Recording: Removed some options. Added 'Slow' option. Generates more comments. And more.
  • Removed "QM always on top" view. Instead you can use floating output and status bar windows.
  • Most global run-time options moved from Options dialog to function RtOptions.
  • Make exe: Removed 'Compress' option, because of possible problems with antivirus software.
  • Macros that run in separate process now by default use a small .qmm file instead of .exe file.
  • QM enables Chrome accessible objects.
  • Bug fixes:
  • F strings, when used as a function argument: error or incorrect result if [digits] used in a variable. Example: act F"{a[0]}".
  • Operator or: If first operand nonzero, returns its value (must be 1). It's not a problem in most cases, because the value itself is rarely used. Another bug - does not work if first operand is double. Added warning for yet another bug that cannot be fixed.
  • DaysInMonth: no leap year correction at 100/400 years. Also in DateTime functions AddMonths and AddYears.
  • TimeSpanFromStr: may incorrectly parse string if without days.
  • Process triggers: if 'Already running' selected, the macro runs before initializing QM extensions and user startup functions.
  • Keyboard triggers: don't work repeated triggers with modifier keys.
  • And more.
  • What can be incompatible with previous versions:
  • If you have functions with same names as the new system functions, you will have to rename or delete them.
  • Removed function share.
  • If you use the 'Favorite dialogs' feature (in floating toolbar), may need to rebuild your favorites, because there are changes in dialogs.

New in Quick Macros 2.3.3.7 (Mar 16, 2012)

  • New UI object (Acc etc) functions. Other new or improved functions
  • New or improved information features: annotations, errors, function info/help, coloring, key comments
  • New TS menu features
  • Bug fixes

New in Quick Macros 2.3.2.8 (Aug 5, 2010)

  • More options in some Ftp and Http functions. Several new functions. See above.
  • shutdown. Flags 4 and 8 (synchronous) with shutdown -6 (end thread).
  • More options in HtmlToWebBrowserControl.
  • New function QmCodeToHtml.
  • Bug fixes.

New in Quick Macros 2.3.2.6 (Aug 5, 2010)

  • Solved some problems related to ending a thread.
  • New function: Sqlite.ExecF.
  • New class: SqliteStatement. Wraps low level sqlite functions.
  • More options in: __Font.Create.
  • Bug fixes.

New in Quick Macros 2.3.2.5 (Aug 5, 2010)

  • Something new in ARRAY functions.
  • Fixed grid refresh bug.
  • With DlgGrid functions RowAddSetMS, RowAddSetSA, CellSet and RowPropSet, if row index > row count, adds at that index.

New in Quick Macros 2.3.2.3 (Aug 5, 2010)

  • New QM_Grid control features.
  • New ICsv functions.
  • New Sqlite functions.
  • Variables in strings: also can be used with multiline strings.
  • Remap Keys. Look in floating toolbar, "More Tools" menu.
  • Easier nonstandard packing alignment of type members.

New in Quick Macros 2.3.1.8 (Sep 3, 2009)

  • Many internal code changes and optimizations.
  • Some new debug features - variables, call stack, and more.
  • New functions and classes: str.timeformat, OutWinMsg, Statement, PsCmd, PsFile, str.ConvertEncoding, __ProcessMemory.
  • More options in: deb, tok, str.dospath, Htm.CbSelect.
  • Works better: acc (with WPF windows), GetListViewItemText.
  • Fast encrypting/decrypting multiple items.
  • F1 and F2 in the help search field work in a similar way as in the code editor.
  • Output history.
  • Added reference file WINAPI7 with Windows 7 declarations. Also updated WINAPI2 in the forum.
  • Bug fixes.

New in Quick Macros 2.3.0.13 (Sep 3, 2009)

  • Supports Unicode
  • Does not run on Windows 98/Me.
  • Improved code editor. You can change colors and fonts in Options -> Editor
  • Open Items and Running Items lists. To show, check View Active Items in Edit or Run menu
  • Search Help and Tools. Previously it was available in the forum. If you have downloaded it, delete "QM quick help search" folder from the list of macros
  • Custom icons of QM items
  • More options in Icons dialog
  • Imagelist editor
  • Shell menu triggers. Previously available in the forum. If you have it, delete 'Shell menu triggers' folder
  • Bookmarks and saved searches
  • Other changes in QM user interface: docked Find dialog, changes in menus and toolbars, changed some control ids, changed some colors, icons, added Back and Forward buttons
  • Updated WINAPI reference file. Added W function versions. Added wininet functions, and removed inet typelib. Removed some rarely used functions: cryptography, XML, some other. Added WINAPIV reference file containing Vista declarations
  • New functions and interfaces: ICsv, IXml, IXmlNode, empty, SetEnvVar, GetEnvVar, SetCurDir (replaces ChDir), GetCurDir (replaces CurDir), CB_Add, LB_Add, str.Swap, WaitForThreads, GetIpAddress, ScreenColors, WinA (find window containing acc. object), Drag, outb (display binary data), RunConsole2, FileCopy, FileMove, FileRename, FileDelete, CloseWindowsOf, MsgBoxAsync, __ImageList, __Hicon
  • New dll functions: StrCompare, StrCompareN, MemCompare, GetUserInfo (user/computer name), GetFullPath (from relative), GetQmCodeEditor, InsertStatement, and more. To find all the new functions in the Help topic, search for "2.3.0"
  • New predefined variables: _unicode
  • New operators: @ (converts string to Unicode UTF-16)
  • More options in: str.unicode, str.ansi, findrx (flag 32), str.replacerx (flag32), rget, rset, str.escape, interface (optional arguments; comments; multiple function calls in single statement), type (comments), out (colors, links), len (supports BSTR, VARIANT, word*), newitem (temporary), lef/rig/mid/dou (return), opt/getopt (hungwindow), zip (no compression), GetFileIcon (cursor, custom size), RegWinClass, MainWindow, MessageLoop, OpenSaveDialog (hwndowner), OnScreenDisplay (picture)
  • Added QM item type - file link. Added related options to qmitem, str.getmacro, newitem and in other places
  • Added QM item property - temporary
  • New triggers: QM events -> File link run, End thread
  • Special folders more reliable. Several new special folder names and aliases
  • Exe: Any files can be added to resources using syntax ":resourceid filepath". For example, you can use jpg and gif images in exe dialogs. Previously it worked only with bmp and ico files and only with some functions. Now it works with most functions that load a file, including str.getfile. Also now can add cursor resources
  • Toolbars: If you drag and drop a file onto a program icon, you can choose to open the file in that program
  • Name completion. Partially type an identifier (function, etc) and press Ctrl+Space or use menu Edit -> Members
  • Indented multiline strings
  • Works better: Loading files and HTML into a web browser control. Some optimizations in win, child, acc and htm. Ftp and Http functions don't show error descriptions in QM output; added Ftp/Http member variable lasterror, which will contain error description if a function failed (returned 0). Toolbars show nondistorted icons of sizes other than 16/32, if icons of that size are available
  • Printing. Menu File -> More -> Print
  • You can change backup folder path in Options -> Files
  • New menu option: /multicolumn
  • Changed behavior of "record window command" hotkey. Now shows popup menu with several choices. Removed "record mouse command" hotkey
  • Exe: QM Pro license now is not needed. Currently there are no other features that would require Pro license
  • Tested and runs well on Windows 7 beta. Works well with Internet Explorer 8
  • Can check for new QM version (Options -> General)
  • Bug fixes

New in Quick Macros 2.3.0.11 (Apr 13, 2009)

  • Supports Unicode.
  • Does not run on Windows 98/Me. The last QM version that supports these OS - QM 2.2.1 - is here.
  • Improved code editor. Some related info is here and here. You can change colors and fonts in Options -> Editor.
  • Open Items and Running Items lists. To show, check View Active Items in Edit or Run menu.
  • Search Help and Tools. Previously it was available in the forum. If you have downloaded it, delete "QM quick help search" folder from the list of macros.
  • Custom icons of QM items.
  • More options in Icons dialog.
  • Imagelist editor.
  • Shell menu triggers. Previously available in the forum. If you have it, delete 'Shell menu triggers' folder.
  • Bookmarks and saved searches.
  • Other changes in QM user interface: docked Find dialog, changes in menus and toolbars, changed some control ids, changed some colors, icons, added Back and Forward buttons.
  • Updated WINAPI reference file. Added W function versions. Added wininet functions, and removed inet typelib. Removed some rarely used functions: cryptography, XML, some other. Added WINAPIV reference file containing Vista declarations.
  • New functions and interfaces: ICsv, IXml, IXmlNode, empty, SetEnvVar, GetEnvVar, SetCurDir (replaces ChDir), GetCurDir (replaces CurDir), CB_Add, LB_Add, str.Swap, WaitForThreads, GetIpAddress, ScreenColors, WinA (find window containing acc. object), Drag, outb (display binary data), RunConsole2, FileCopy, FileMove, FileRename, FileDelete, CloseWindowsOf, MsgBoxAsync, __ImageList, __Hicon.
  • New dll functions: StrCompare, StrCompareN, MemCompare, GetUserInfo (user/computer name), GetFullPath (from relative), GetQmCodeEditor, InsertStatement, and more. To find all the new functions in the Help topic, search for "2.3.0".
  • New predefined variables: _unicode.
  • New operators: @ (converts string to Unicode UTF-16).
  • More options in: str.unicode, str.ansi, findrx (flag 32), str.replacerx (flag32), rget, rset, str.escape, interface (optional arguments; comments; multiple function calls in single statement), type (comments), out (colors, links), len (supports BSTR, VARIANT, word*), newitem (temporary), lef/rig/mid/dou (return), opt/getopt (hungwindow), zip (no compression), GetFileIcon (cursor, custom size), RegWinClass, MainWindow, MessageLoop, OpenSaveDialog (hwndowner), OnScreenDisplay (picture).
  • Added QM item type - file link. Added related options to qmitem, str.getmacro, newitem and in other places.
  • Added QM item property - temporary.
  • New triggers: QM events -> File link run, End thread.
  • Special folders more reliable. Several new special folder names and aliases.
  • Exe: Any files can be added to resources using syntax ":resourceid filepath". For example, you can use jpg and gif images in exe dialogs. Previously it worked only with bmp and ico files and only with some functions. Now it works with most functions that load a file, including str.getfile. Also now can add cursor resources.
  • Toolbars: If you drag and drop a file onto a program icon, you can choose to open the file in that program.
  • Name completion. Partially type an identifier (function, etc) and press Ctrl+Space or use menu Edit -> Members.
  • Indented multiline strings.
  • Works better: Loading files and HTML into a web browser control. Some optimizations in win, child, acc and htm. Ftp and Http functions don't show error descriptions in QM output; added Ftp/Http member variable lasterror, which will contain error description if a function failed (returned 0). Toolbars show nondistorted icons of sizes other than 16/32, if icons of that size are available.
  • Printing. Menu File -> More -> Print.
  • You can change backup folder path in Options -> Files.
  • New menu option: /multicolumn.
  • Changed behavior of "record window command" hotkey. Now shows popup menu with several choices. Removed "record mouse command" hotkey.
  • Exe: QM Pro license now is not needed. Currently there are no other features that would require Pro license.
  • Tested and runs well on Windows 7 beta. Works well with Internet Explorer 8.
  • Can check for new QM version (Options -> General).
  • Bug fixes.

New in Quick Macros 2.1.9.1 Beta (Oct 2, 2006)

  • Make exe. Can create standalone programs from macros and functions
  • New directives: #out, #warning, #error, #exe. More options in #opt (nowarnings)
  • New functions: Http.PostFormData
  • New predefined variables and constants
  • More options in: ShowDialog (icon, menu, hot-keys, resources), dll (delay-loading), out (clear), scan (handle, resource), LogFile, IntGetFile (callback function), Http.FileGet (callback function), Http.GetUrl (callback function), dir (finds drives), Curta
  • Several new dll functions exported by qm.exe
  • In dialog procedure now it is not necessary to call DT_Init and other DT_x functions
  • File triggers more reliable. Fixed 2.1.9.0 bug with network folders
  • Changed End-macro hot-key behavior

New in Quick Macros 2.1.9.0 Beta (Aug 17, 2006)

  • Make exe. Can create standalone programs from macros and functions.
  • New directives: #out, #warning, #error, #exe. More options in #opt (nowarnings).
  • New predefined variables and constants.
  • More options in: ShowDialog (icon, menu, hot-keys, resources), dll (delay-loading), out (clear), scan (handle, resource), LogFile.
  • Several new dll functions exported by qm.exe.
  • In dialog procedure now it is not necessary to call DT_Init and other DT_x functions.

New in Quick Macros 2.1.8.7 (Jun 13, 2006)

  • New trigger type - QM events. Special items now are included as QM events triggers, and removed from Options.
  • New trigger type - file. For Windows 2000/XP an later.
  • New trigger type - event log. For Windows 2000/XP an later.
  • New trigger type - process. For Windows 2000/XP an later.
  • New trigger type - accessible object.
  • User-defined triggers now can be added to the Properties dialog.
  • Better integration with the Task Scheduler.
  • Added option to temporarily unlock computer to run the macro in normal conditions.
  • All trigger settings now are included in the trigger string.
  • All toolbar options now can be set in Properties. Added new toolbar options to set background picture and transparency.
  • New option for functions: Allow single instance.
  • New functions: Speak, SpeekStop, OnScreenDisplay, RunTextAsFunction2, Curtain, SetFileTimes, GetClipboardFiles, VbsExec2, AutoPassword, RunAs, Acc.ObjectFromEvent, ExcelSheet.Save, Database class, several new dll functions exported by qm.exe.
  • More options in: IntPost, Http.Post, MouseWheel, ExcelSheet.Init, FE_ExcelRow, BrowseForFolder, RegWinClass, ShowDialog (x, y), ShutDownProcess, str.encrypt, str.decrypt.
  • Works better: wait for web page (web, wait). Previously, with some multiframe pages, did not wait for all frames.
  • Works better: _error. Now it is properly populated in functions registered by atend.
  • Works better: calling nondeclared COM functions. This also makes working with WMI easier. WMI samples included in Samples2.qml.
  • Works better: now dialogs with DS_SETFOREGROUND style are really activated, regardless of system settings and other conditions.
  • Works better: _setevents.
  • New dialogs: Get file info, Enter password.
  • Dialogs, toolbars, str.setclip and str.setsel now support image files of bmp, jpg and gif type.
  • In menus can be used icon handles.
  • Timer functions (tim) now run in new thread each time.
  • Redesigned Properties and Options dialogs.
  • The command line parameter E now always causes to exit QM, even if an error occurs.
  • Now passwords that are passed to functions can be encrypted. All QM functions that accept password now support encrypted passwords.
  • New help topic about user-defined functions.
  • Other enhancements and bug fixes.

New in Quick Macros 2.1.7 Beta (Mar 24, 2006)

  • Integrated help: Tips for beginners, and function help on F1. Reassigned F1 and F2 hotkeys, and unassigned F3.
  • New functions and classes: scan (find image on screen), perf (get time in microseconds), matchw (compare strings using wildcard characters), class Htm (wraps html element functions; it also includes mouse actions and enhanced selecting of combo box items), class ExcelSheet (get/set cell values), functions FE_ExcelRow (get cell values), GetAttr, SetAttr (file attributes), and several other.
  • Several qm internal functions now also are exported as dll functions.
  • More options in: wait (wait for image on screen), opt (slowmouse, slowkeys), ref (declare identifiers on demand but always see them in the main popup list), web (get window handle, use *), sel (use *), ShowText (rich text).
  • Work better: wait for CPU on Win2K/XP (eliminated first-time delay and high memory consumption).
  • Toolbars: menu -> Quick Icons. Other performance enhancements. Toolbar option /bsiz (max button size).
  • QM runs in safe mode if F8 is pressed when starting.
  • You can change My QM folder path. It is where your default macro list file and various other files used in QM are stored.
  • Command line: you can specify some other character to use instead of ".
  • Wildcard characters: functions and triggers, where * can be used, now also support ?.
  • Dialogs: now you can use graphical ActiveX controls, including the web browser control.
  • COM event fuctions: simpler access to the event-source object.
  • New help topic about using COM components.
  • Thread variables: no more "invalid pointer" errors, because the declaration statement now may be skipped during the run time. If there is a constructor, now it runs at the beginning, not where the variable is declared.
  • Type libraries: now are supported names containing invalid characters.
  • Various small enhancements and bug fixes.