Release Notes for UltraMon 3.1.0

Go to:

Release notes for previous release: 3.0.10


Important: licensing terms have been changed for 3.1.0, see Changes for details.

Setup will upgrade your existing installation and preserve your settings (version 2.7.0 and later only) and registration information. You don't need to uninstall your current installation of UltraMon first.

When upgrading from version 2.6 or earlier, settings and display profiles, shortcuts and wallpapers will not be preserved. If you need to preserve settings and files, you'll need to upgrade to 2.7.1 first, then to version 3.

Please note that 3.1.0 requires a version 3 license, version 2 registration codes won't work. If you're unsure what version your license/registration code is, login to your account to review your orders and access your registration information. Version 3 registration codes are backwards-compatible and will work fine with earlier releases of UltraMon.

UltraMon 3 requires Windows 2000/XP or later, Windows 98/Me are no longer supported.

System administrators: if you're upgrading UltraMon installations which use version 2 registration codes, you'll need to specify the new version 3 registration code when deploying 3.1.0, otherwise all upgraded installations will run in trial mode. You can do this by setting the USERNAME and PIDKEY properties, for example on the command line for msiexec:

msiexec /i <setupfile> USERNAME="<registeredTo>" PIDKEY=<regCode>

New in this release

Set screen orientation and interlaced display modes: display settings and display profiles now support changing the screen orientation, and if you're using a TV you can set interlaced display modes via UltraMon, for example 1080i. Please note that changing the screen orientation is not supported on Windows 2000, and may not always work on Windows XP depending on the display driver used.

Output switching on Windows 7: if your video card supports connecting 3 monitors but only 2 can be used at a time, you can now switch between the different display configurations via UltraMon, for example 2x monitor or monitor + TV. Windows 7 is required for this to work, on previous versions of Windows you'll need to do this via the software for the video card.

Support for legacy display drivers on Windows 7: if you're using MaxiVista or a USB video card with legacy drivers on Windows 7, you can now change display settings for those monitors via UltraMon. Unlike Windows Display Properties, UltraMon lists all monitors, including those with legacy drivers.

New configuration options for system administrators: the following new configuration options have been added:

New scripting features: you can now get a collection of all open windows via the Window object's GetAllWindows and GetAppWindows methods, this enables a variety of window management tasks, for example moving all windows to a specific monitor, swapping windows between two monitors, etc. The Monitor object has support for new Windows 7-specific features and changing the screen orientation, and support for getting/setting the cursor position has been added to the System object. Below is a list of all new methods and properties, for more information see UltraMon Help > Scripting > Reference.

DisplayMode object:

InterlacedIndicates for each available refresh rate if it is interlaced.

Monitor object:

CanChangeOrientationIndicates if the orientation of the monitor can be changed.
CcdSupportIndicates if the monitor supports the CCD API.
ConnectorTypeType of the connector used by the monitor (VGA, DVI, etc).
DisableMonsIf this property isn't empty, it contains an array of monitor numbers. In order to enable this monitor, you'll need to disable one of the monitors from the returned array.
InterlacedIndicates if the monitor is using interlaced or progressive mode. TVs usually support both interlaced and progressive modes, for example the full HD resolutions 1080i (1920 x 1080, interlaced) and 1080p (1920 x 1080, progressive).
OrientationThe orientation of the monitor (landscape, portrait).
PreferredHeightThe preferred vertical resolution of the monitor.
PreferredWidthThe preferred horizontal resolution of the monitor.
RealDispModesIndicates if the display modes collection (DisplayModes property) contains real display modes, or only a single default mode.
SerialNumberSerial number of the monitor.
SetIDChanges the number of a monitor.
TargetIdTarget ID of the monitor.

System object:

CursorPosXPosition of the cursor (pointer), x coordinate.
CursorPosYPosition of the cursor (pointer), y coordinate.
SetCursorPosSets the cursor (pointer) position.

Utility object:

Run2Launches an application or opens a document. Extended version of Run.

Window object:

ActivateActivates the window.
ActiveIndicates if the window is currently active (in the foreground) or not.
AlwaysOnTopAlways on top status of the window.
CloseCloses the window.
ExStyleExtended window style, combination of WS_EX_ flags.
GetAllWindowsReturns a collection of all open windows.
GetAppWindowsReturns a collection of all open application windows.
ProcessExePath and name of the executable of the process to which the window belongs.
StyleWindow style, combination of WS_ flags.


• Licensing change: per-computer licensing has been changed to require a license for each computer where the software is used instead of each computer where the software is installed. This mainly affects terminal server environments, if the software is only installed on the server you would previously have needed only a single license for the server, but now you'll need a license for each multi-monitor client but the server no longer needs a license. You can review the new licensing agreement here.

• Applying an existing display profile or shortcut with custom display settings may result in the monitor image getting turned upside-down, to fix this, edit the profile or shortcut and set the orientation setting as desired. This is due to legacy display profiles and shortcuts getting upgraded to support the new orientation setting, during the upgrade the default landscape or portrait orientation gets selected based on the display resolution.

• No compatibility warning gets shown if only a single monitor is detected when UltraMon runs for the first time. This prevents an unnecessary warning if the software is installed on a terminal server, but the client connecting to the server only has a single monitor. The original reason for this warning was lack of native multi-monitor support in Windows 2000 drivers, this isn't an issue anymore.

Fixed issues

Moving windows to a different monitor via UltraMon window buttons or the Move Window hotkeys may occasionally not work correctly on 64-bit Windows

• Icon positioning may not work correctly on Vista and later if there are multiple icons whose names begin with the same character(s)

Hidden UltraMon window gets shown if ATI HydraVision is enabled and the 'allow spanning across displays' option is not enabled

If Matrox PowerDesk is configured to open all applications on a specific monitor, the Choose Monitor window also gets opened on that monitor

• After changing monitor numbers on Windows 7, monitors may get assigned different numbers after the next reboot

• Smart Taskbar ignores taskbar group policy settings such as 'Lock the Taskbar' and 'Prevent grouping of taskbar items'

• UltraMonTaskbar.exe may crash with an access violation or with a fatal error in TaskBand.cpp at line 1430 when connecting to a system running UltraMon via Remote Desktop

• UltraMon taskbar has gray borders when logging in locally again after having connected to the system remotely. This happened when using the XP default or Vista and later basic theme and visual styles were disabled for the remote desktop session

• Smart Taskbar may no longer work correctly after the main taskbar, explorer.exe, has been restarted

• Setup shows message that you don't have the necessary privileges required to install mirroring. The message has been removed, UltraMon setup requires administrative privileges anyway, independent of the mirroring feature getting installed or not

• When upgrading from 2.7.1, shared wallpapers don't get preserved. Please note that this can still happen if the shared wallpapers aren't stored in the default location Shared Documents\Shared Wallpapers

• Window buttons etc are disabled for a specific application, but occasionally they still get added

• Window buttons may not match the width of the regular window buttons on some systems

Mirroring starts and keeps running even though the mirror target monitor can't be enabled

• Mirroring: when changing the resolution of the source or target monitor, the mirror image no longer fills the whole screen

• Mirroring fails to start with an invalid configuration message, but settings can't be changed because the monitor selection screen doesn't get shown on systems with only two monitors

• Fatal error in Mirroring.cpp at line 719 when mirror target monitor gets removed/deactivated while mirroring is running. Mirroring now quits without showing an error message when a monitor gets removed/deactivated

Mirroring a single application: TimerPlus not shown on list of running applications

• Mirroring settings wizard: when clicking on Back to go to the previous page, you'll get an error message if no monitor or application has been selected for mirroring

Application gets positioned partially offscreen if configured to open on specific monitor but the monitor is disabled

• Offscreen window can't be moved to primary monitor via hotkey or script during single-monitor remote session

• Scripting: Window.Find method with wildcards may fail to find a match even though a window with a matching caption exists

• Scripting: on Windows 7, System.DockedAppBars contains an entry for the start button

• Several memory leaks have been fixed in UltraMon.dll

Known issues

• Runtime error in Adobe Acrobat when moving maximized window if Acrobat was launched from CCH ProSystem Engagement. As a workaround, go to UltraMon Options > Compatibility, then configure settings for Adobe Acrobat and check the 'use alternative method to move maximized window' option

• WindowBlinds skins which use transparency aren't fully supported on Windows XP, you'll get a black background where the taskbar should be transparent. There is no fix for this, it does work fine on Windows Vista though

Docking hints from Xceed Docking Windows library don't work if UltraMon window buttons are enabled for the application

• Windows 2000: if you don't have Windows Installer version 3 or later installed, a driver used by UltraMon's mirroring feature won't get updated correctly when doing an upgrade install. Repairing the installation will fix the problem