What's new
QM 2.4.12
QM 2.4.12.2 (2021-08-22)
- Fixed: In QM 2.4.12.1 does not work "Run in separate process" when the file is qmm.
QM 2.4.12.1 (2021-08-09)
- 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.
QM 2.4.12.0 (2021-03-10)
- 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.
QM 2.4.11
QM 2.4.11.2 (2021-02-06)
- Fixed 2.4.11 bug: mouse cursor sometimes flickers in QM windows.
- Fixed bug in menu command "Copy HTML".
QM 2.4.11.1 (2020-12-21)
- 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>.
QM 2.4.11.0 (2020-07-19)
- 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.
- Does not support Windows XP. Not tested on Windows Vista.
QM 2.4.10.0 (2020-01-23)
- Fixed bug: fails to get icons from macro resources.
QM 2.4.9.0 (2019-08-31)
- 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.
QM 2.4.8
QM 2.4.8.2 (2019-03-28)
- Fixed bug in function tok: when used arr2 (delimiter tokens), every 32-th its element has incorrect length.
QM 2.4.8.1 (2019-03-18)
- Fixed bug in dialog editor: in multipage dialogs selects controls from hidden pages.
QM 2.4.8.0 (2018-12-25)
- 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.
QM 2.4.7 (2017-10-12)
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".
QM 2.4.6 (2017-10-05)
Main new features
- Bug fixes.
All new features
- 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".
QM 2.4.5 (2017-02-27)
Main new features
- Bug fixes.
All new features
- 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.
- And more.
QM 2.4.4 (2016-11-06)
Main new features
- Bug fixes.
All new features
- More options in:
- Several System functions have new flags or parameters. Search for text "2.4.4".
- New functions:
- 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.
- And more.
QM 2.4.3.8 (2016-02-18)
Main new features
- Works better on Windows 8-10.
- Shared sub-functions.
- Several new functions; more features in scan and some other functions.
- Bug fixes.
All new features
- 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:
- 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.
- In 2.3.4.8 fixed: invalid signature of quickmac.exe (installer) of version 2.3.4.7.
- 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.
QM 2.4.2 (2014-11-22)
Exact version: 2.4.2.2.
Main new features
- Improvements in Dialog Editor, scheduler support and some other features.
- Supports Java accessible objects.
- Bug fixes.
All new features
- 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.
- 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:
- 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.
- run returns an invalid value if hwnd used.
- Fixed in 2.4.2.3. QM-created programs create My QM folder on computers where they run.
- And more.
QM 2.4.1 (2014-06-20)
Exact version: 2.4.1.8.
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.
Changes since QM 2.4.1.0, shortly:
- 2.4.1.1. FileGetAttributes, FileSetAttributes, InitWindowsDll, _qmfile.GetLoadedFiles, str.swap, #region/#endregion, dll and &, directives, links in mes etc, opt save/restore, getopt itemname, run flag 0x40000, .NET 4.x, RtOptions net_clr_version, ArrangeWindows action 8, new QM menu items and Dialog Editor features, several bugs.
- 2.4.1.2. Fixed QM 2.4.1.1 bug in Dialog Editor.
- 2.4.1.3. sel regex/null flags. Fixed QM 2.4.1.1 bug in 'Find help, functions, tools', str.stem and str.wrap.
- 2.4.1.4. #sub. Fixed QM 2.4.1.1 bug: F1 does not work for some functions. Fixed more bugs.
- 2.4.1.5. Console exe, console functions. Fixed bugs: .NET control name, zip- readonly. And more.
- 2.4.1.6. Menu File -> File+ -> Find item in files. Trigger 'QM show' option 'synchronous'. Bug fixes.
- 2.4.1.7. Fixed: does not record images in 'Screen' mode.
- 2.4.1.8. Updated QM icon. Fixed some small bugs.
QM 2.4.0 (2014-02-05)
Exact version: 2.4.0.3.
Main new features
- New QM file format.
- Some changes in user interface.
- New options in some functions.
- Bug fixes.
All new features
- 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.
- The Find dialog: auto-highlight and more.
- Toolbar positions now are saved in current QM file, not in registry. See also: Options -> Layout of toolbars.
- And more small changes. Search for "2.4.0" in this Help file.
- New functions:
- FileExists (replaces dir).
- Dir class: several new member functions.
- str class: SqlBlob.
- New in:
- str.setfile, IXml.ToFile, ICsv.ToFile: safe saving and backup.
- scan: use image from macro resources.
- 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.
- Make exe: in some cases incorrectly writes resources, then exe may crash.
- And more.
- What can be incompatible with previous versions:
- May need to manage QM files differently. See also: network setup, backup.
- If you have functions with same names as the new functions, will need to rename or delete them.
See also:
What's new in versions 2.1.0 - 2.3.6