Multiscreen Blank v2

Multiscreen Blank v2 is an easy-to-use utility that allows you to independently blank out or dim one or more monitors connected to your computer. Monitors fade in and out with smooth transitions.

Main MultiscreenBlank window

Some possible uses include:

  • Fading out a projector during a presentation while switching slides
  • Blanking out unused monitors in a multi-monitor setup to reduce distraction
  • Selectively blanking out parts of a commercial video wall
  • Dimming one or more screens while continuing to use them

This is a major update to the original Multiscreen Blank application that has developed a small but devoted following of users. The update brings a reimagined, considerably more intuitive user interface and includes many new features requested by users over the years.

SUPPORT STATUS: This program is actively supported. You are encouraged to send suggestions and bug reports to the developer.

Basic Operation

Multiscreen Blank displays your current monitor configuration in a scaled visual representation. This eliminates guesswork in trying to figure out which monitor is #1 or #5, since Windows can arbitrarily re-order them. Here are some basic operational concepts:

  • Double click on a monitor icon to toggle its state
  • Single click on a monitor icon to add it to the selection. Click in the blank area around the monitor icons to clear the selection.
  • Click and drag over several monitor icons to select them
  • Right click on a monitor icon for more options, including the option to blank/reveal all selected monitors, place them in a group, or invert the current selection.

Additionally, you may double click anywhere on a blanked monitor to reveal it. (Note that the mouse cursor will be invisible unless you have enabled it in settings.)

Groups

Monitors may be placed into groups to make it easier to select and blank/reveal logically-related displays. Groups can be added, renamed, or deleted at any time, and appear as colored buttons at the top of the window. Group colors will match up with monitor colors so you can identify group membership at a glance.

By default, all monitors are members of the first group, but this group is hidden. Right-click on the blank space to the right of the list of groups to add a new group. Click on a group button to select all monitors in that group. Right-click to blank or reveal all monitors in the group, select the group (or everything outside of it), or make changes to the group itself.

The "All" group is a special group that is always present. It allows you to quickly select every monitor and provides a quick and easy way to blank all but the primary monitor. The primary monitor is defined in the Windows control panel and generally corresponds to the monitor that your taskbar appears on.

Virtual Screens

If you have a hardware-based screen splitter solution (such as a Matrix TripleHead2Go or various commercial video wall controllers) that splits a single logical monitor across multiple physical displays, you can set up virtual screens in Multiscreen Blank to allow you to still blank each physical display independently. Virtual screens will appear within Multiscreen Blank as if they were physical monitors and may be selected, added to groups, and so on.

Initial state Configuration Final state

Notification Area Icon

Much of Multiscreen Blank's functionality can be accessed from its notification area icon. Minimizing the main application window will minimize it to the tray, and double-clicking on the notification area icon will restore it. Right-clicking on the icon will present you with a menu of options. You may toggle individual screens (listed by bounding rectangle), blank/reveal groups of monitors, and quickly blank/reveal all screens, without opening the main window.

Command-line Arguments

Multiscreen Blank supports multiple command-line arguments in order to allow scripting of screen blanking/revealing. Since it is a single-instance application, you may run multiple commands in sequence and they won't open multiple copies of the application. The following basic command-line switches are supported:

/minimized

Starts the application minimized. You may double-click on the notification area icon to restore the main application window. This argument may be combined with other arguments that make sense, e.g. monitor operations, but must appear first in that case.

/reset

If something went wrong and you can't get the program to open normally without crashing, you may reset its configuration to factory defaults by passing in this argument.

/blank, /reveal, /toggle

Performs the specified operation on the specified set of screens. You may define screens either by Windows hardware ID, group ID, or bounding rectangle. You may specify one or more monitors this way, but keep in mind that you may specify only existing monitors that show up in the UI (not arbitrary regions). The bounds and hardware ID may be obtained by right-clicking on the monitor in the main UI and clicking "Information..."

The following selectors are available:

  • bounds: allows you to specify a monitor via bounding rectangle.
  • id: allows you to specify a monitor via hardware ID.
  • group: allows you to specify a monitor via group number.
  • all: allows you to specify all monitors.
  • allexcept: modifier that inverts the selection.

Blank the second monitor according to Windows hardware ID

MultiscreenBlank2 /blank id \\.\DISPLAY2

Blank the logical monitor located at (1920,0,1920,1200)

This corresponds to the rightmost monitor in a dual-monitor configuration where both monitors have a resolution of 1920x1200 pixels and are arranged horizontally in landscape orientation.

MultiscreenBlank2 /blank bounds 1920,0,1920,1200

Blank all monitors in the second group

Group indices start with 0, so the first group is 0, second group is 1, etc.

MultiscreenBlank2 /blank group 1

Combination of the three examples above

Order of the operands does not matter as the operation will be applied to all monitors simultaneously. It's OK to overlap, e.g. if a given monitor selected by bounds is also a member of the specified group.

MultiscreenBlank2 /blank id \\.\DISPLAY2 bounds 1920,0,1920,1200 group 1

Blank all

When you specify "all", there is no logical benefit to specifying additional monitors since you've already specified all possible monitors. This will blank every monitor including the primary one that the main Multiscreen Blank window is on, so you will need to double-click on that screen in order to reveal it.

MultiscreenBlank2 /all

Blank all except the primary

The "allexcept" operator must appear immediately after the "/blank" switch.

MultiscreenBlank2 /blank allexcept id \\.\DISPLAY1

Settings

Multiscreen Blank will remember the window layout and group assignment. Additionally, it has several options you may configure.

Start with Windows

Multiscreen Blank can be started with Windows – this will cause it to open minimized, in the notification area near the clock. This will save you a click if you routinely use Multiscreen Blank whenever you turn on your computer.

Blanking details

You can also configure blanking details: the fade duration, the easing function used for fading in and out, and whether or not to show the mouse cursor on blanked screens.

Configuration storage

Settings are stored in a .ini file in the application directory. Alternatively, settings may be redirected to a user-specific directory if the application is installed to a shared folder. This file can be easily backed up and transferred to other systems.

License

You are allowed to use Multiscreen Blank with virtually no restrictions, i.e. you may use it for both private and commercial settings free of charge. However, you may NOT use this software as part of your own projects or compilations without permission from the developer.

Download

Go to download page

Comments (31)

Jarrad
Thursday, November 19, 2015 at 7:31 AM
This product works great with 3 screens - really increases focus. Would love to see it develop into a drop down (pop down) function, rather then a box as it would increase the ability to access it while working - i.e not having to change windows. I have probably described this poorly, so I've provided a link below - I'm referring to the section "Quick Capture to work Faster" http://www.screenpresso.com/screenpresso-1-6-0-featuring-our-best-screen-capture-release/#more-1789 Anywho, thank you!! Its Brillant.
Options: Reply | Quote | Flag / Report

Thursday, November 19, 2015 at 8:51 PM
@Jarrad Actually it already has this feature -- look in your notification area for an icon. You can right-click on the icon for various options, including blanking/revealing an individual monitor or a group.



You can make it auto-start in this mode by going into Settings and checking the "Start with Windows" box. That way you'll never even see the main dialog box unless you want to!f
Options: Reply | Quote | Flag / Report

David
Friday, December 11, 2015 at 9:43 AM
Glad we have the command line options now. I can't seem to get the reveal and toggle command lines to do anything, They just do the same as the blank command line.
Options: Reply | Quote | Flag / Report

Jan
Wednesday, January 13, 2016 at 4:18 AM
Yeah, /blank, /reveal, and /toggle all do the same and none of them let's you reveal the screens again. A fix for that would be very much appreciated. This program is exactly what I was looking for, but at present the only way I can command-line reveal the screens again is via taskkill
Options: Reply | Quote | Flag / Report

Wednesday, January 13, 2016 at 2:27 PM
I have released an update (version 2.0.5) that fixes the issue.
Options: Reply | Quote | Flag / Report

Jan
Wednesday, January 13, 2016 at 5:24 PM
@nookkin Oh wow, that is rapid bug fixing! :-) Thank you very much! Blank and reveal works now, but toggle only seems to work with a single screen. If i try to toggle a group, i get "fatal: Unable to create instance".
Options: Reply | Quote | Flag / Report

Ringo
Saturday, January 16, 2016 at 8:59 AM
I realize this is a general question, but if I make a shortcut to multiscreenblank2 to toggle a screen, how can I make it so that shortcut works from anywhere in windows or any program? I'm having really bad luck with my google searches finding an answer, thanks.
Options: Reply | Quote | Flag / Report

Elra
Saturday, January 16, 2016 at 9:48 AM
Can someone please help me into making the toggle command for a screen turn into a universal windows shortcut. I don't know the terminology for a good google search and am getting any random stuff. Do I need to make a batch file? How do I do that? Please, thanks.
Options: Reply | Quote | Flag / Report

Saturday, January 16, 2016 at 12:47 PM
@Ringo One way is to just create a Windows shortcut the normal way (right-click -> New Shortcut), then set the "Shortcut key" property. Unfortunately this isn't global so it won't work if you're within an application that processes shortcut keys.

Another way is to pin this shortcut in your taskbar. You'll then be able to press Win+1, Win+2, etc.

I would recommend using AutoHotkey or some other global hotkey manager to run the command line, since it's able to grab keypresses even if another app has focus.
Options: Reply | Quote | Flag / Report

Ringo
Saturday, January 16, 2016 at 12:49 PM
Thank you very much! Sorry for the double post.
Options: Reply | Quote | Flag / Report

Bowen
Saturday, January 16, 2016 at 1:49 PM
@nookkin Tried making a toggle command for one of my monitors, and followed the instructions listed above exactly. However, every time I open that shortcut (with the toggle command) there is a slight delay, then my firewall notifies me that Multiscreen is attempting to connect to the internet. This happens every time I double click that shortcut. If I block the connection, nothing happens to the monitor that I had intended to toggle. If I allow the connection, then the monitor then toggles blank/unblank. Could clarify whether this is intentional or not? If so, why?
Options: Reply | Quote | Flag / Report

Saturday, January 16, 2016 at 2:26 PM
@Bowen MultiscreenBlank shouldn't connect to the internet for any reason. Can you post a screenshot of the error? Another thing you can try is right-clicking the .exe, going to Properties, and clicking "Unblock".
Options: Reply | Quote | Flag / Report

Bowen
Saturday, January 16, 2016 at 3:30 PM
@nookkin If you'd like, I can send you an email with all the information I can gather on it. Also, when yo say 'right click on the .exe" are you referring to the "MultiscreenBlank2.exe" ? If so, I can't find the option to "Unblock" in Properties. (Win7 Pro 64bit)
Options: Reply | Quote | Flag / Report

Anthony
Wednesday, March 2, 2016 at 4:11 PM
I am guessing I need to change a setting to fix this issue, however, when I activate the screen blank, it only blanks most of the screen and not all. After checking get the "information" it is showing my screen resolution to be lower than it should. How can I change this?
Options: Reply | Quote | Flag / Report

Anthony
Wednesday, March 2, 2016 at 5:35 PM
@Anthony what is the MAX resolution compatible?
Options: Reply | Quote | Flag / Report

Wednesday, March 2, 2016 at 9:17 PM
@Anthony The "lower" resolution is caused by Windows scaling (it's the effective resolution that the program sees). Can you provide a screenshot of the "most but not all" issue? It's likely related to scaling (though my testing with high DPI showed that it pretty much worked.) You can try disabling scaling by right-clicking MultiscreenBlank2.exe -> Properties -> Compatibility and checking "Disable display scaling on high DPI settings". That should fix both issues although the rest of MultiscreenBlank's UI might be a bit small as a result.
Options: Reply | Quote | Flag / Report

Wednesday, March 2, 2016 at 9:18 PM
@Anthony There is no arbitrary maximum but Windows (I think) limits to around 65536x65536.
Options: Reply | Quote | Flag / Report

Anthony
Wednesday, March 2, 2016 at 10:08 PM
@nookkin yeah that's what I was wondering. I checked the resolution windows was set to and then checked the resolution settings in the "information" under the interface and it is lower than what is set in windows.

I am no longer around the setup in question, basically 3/4 of the screen is blanked, showing the bottom of the screen and the right side. Like a backwards L.
Options: Reply | Quote | Flag / Report

Anthony
Wednesday, March 2, 2016 at 10:10 PM
So to con@nookkin so to confirm there is no max resolution for screenblank itself?
Options: Reply | Quote | Flag / Report

Wednesday, March 2, 2016 at 10:17 PM
@Anthony Did you try the temporary workaround of disabling scaling? Getting programs to work consistently with Windows DPI scaling is a royal pain to put it lightly... I'll need to look into it when I have some free time.

And yes, there is no artificial limit imposed by MultiscreenBlank itself. There is a practical limit imposed by Windows but I don't know what it is.
Options: Reply | Quote | Flag / Report

Anthony
Wednesday, March 2, 2016 at 10:21 PM
I would also like to request instructions on how to use the "virtual screens" option. I am using a laptop that connects into a hdmi switch. That switch connects into a monitor, two of 70' vision tv's, three 40' vision tv's, and a projector.

What I am looking to do is this: Blank the tv's and projector, and use the monitor as a preview source. So, if at all possible, I need the option to put my tv's and projector into one group separate from my monotorious and laptop lcd screen. If it can be done GREAT! Thanks in advance.
Options: Reply | Quote | Flag / Report

Wednesday, March 2, 2016 at 10:42 PM
@Anthony Is it a switch or a splitter/expander? Because if it's a hardware switch, there's nothing I can do.

Now assuming it's a splitter/expander like a TripleHead2Go... Windows will treat each splitter as a single big screen. So you'd go into MultiscreenBlank settings and then the Virtual Screens tab. Select the physical display that corresponds to the combined splitter screen and click on it.

You can then split it in half horizontally/vertically (if both screens are the same size) or click "custom split" to split it into even more pieces (e.g. 3+ screens). If the different screens are different resolutions, you might need to directly edit the .ini file.

Once you have the virtual screens in place, you can group them just like physical screens and then use the regular grouping feature to manage them.

If you want to preview content on a blanked screen... you're sort of out of luck for now since MultiscreenBlank deals with Windows-based screens and not hardware screens. But I'm thinking of adding a feature where it can use accessibility APIs to take screenshots of blanked screens and allow you to sort of get an idea of what's going on under them.
Options: Reply | Quote | Flag / Report

Anthony
Thursday, March 3, 2016 at 8:40 AM
@nookkin Thanks for the help! I will try the scaling option when I get around it today.
Options: Reply | Quote | Flag / Report

DavidE
Thursday, March 24, 2016 at 7:52 PM
Brilliant piece of software, does exactly what I need. However, I am getting an unhandled exception. Can't give the exact sequence but it involves switching between "Blank all but Main", "Blank All" and "Reveal All" from the tray Icon. Running Win 7 x64. Here's the error:

************** Exception Text ************** System.ComponentModel.Win32Exception (0x80004005): The parameter is incorrect at System.Windows.Forms.Form.UpdateLayered() at System.Windows.Forms.Form.set_Opacity(Double value) at MultiscreenBlank2.frmMain.SetMonitorState(MonitorIcon[] Monitors, MonitorAction Action, Double DimAmount) at MultiscreenBlank2.frmMain.mnuAppContextBlankAll_Click(Object sender, EventArgs e) at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e) at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e) at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e) at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea) at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea) at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) at System.Windows.Forms.Control.WndProc(Message& m) at System.Windows.Forms.ToolStrip.WndProc(Message& m) at System.Windows.Forms.ToolStripDropDown.WndProc(Message& m) at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) ************** Loaded Assemblies ************** mscorlib Assembly Version: 4.0.0.0 Win32 Version: 4.0.30319.34209 built by: FX452RTMGDR CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll ---------------------------------------- MultiscreenBlank2 Assembly Version: 2.0.0.5 Win32 Version: 2.0.0.5 CodeBase: file:///C:/Program%20Files%20(x86)/MultiscreenBlank2/MultiscreenBlank2.exe ---------------------------------------- Microsoft.VisualBasic Assembly Version: 10.0.0.0 Win32 Version: 12.0.51209.34209 built by: FX452RTMGDR CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Microsoft.VisualBasic/v4.0_10.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll ---------------------------------------- System Assembly Version: 4.0.0.0 Win32 Version: 4.0.30319.34209 built by: FX452RTMGDR CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll ---------------------------------------- System.Core Assembly Version: 4.0.0.0 Win32 Version: 4.0.30319.34209 built by: FX452RTMGDR CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll ---------------------------------------- System.Windows.Forms Assembly Version: 4.0.0.0 Win32 Version: 4.0.30319.34209 built by: FX452RTMGDR CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll ---------------------------------------- System.Drawing Assembly Version: 4.0.0.0 Win32 Version: 4.0.30319.34209 built by: FX452RTMGDR CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll ----------------------------------------
Options: Reply | Quote | Flag / Report

Corelee
Thursday, September 1, 2016 at 2:29 AM
Thank you for this great tool! Is there a way to set dimming from command line? Would love to see that in a future update maybe...
Options: Reply | Quote | Flag / Report

ceravis
Tuesday, January 3, 2017 at 10:22 PM
I'd like to also humbly vote to toggle dimming from command line, such as:

multiscreenblank2 /toggle group 1 dim 65

So that if a display is currently dimmed to 65%, restore to normal... otherwise if normal, fully blanked, or dimmed to anything other than 65%, dim to 65%. Otherwise, brilliant program, thanks! I'm using EventGhost to capture the Pause/Break key to run MSB via command line to toggle one of my displayport monitors, since turning this monitor on/off using the power button causes it to disappear in Windows (this is a "feature" of displayport) and any windows/icons are moved to other monitors. MultiscreenBlank fixes the problem perfectly!
Options: Reply | Quote | Flag / Report

Ringo
Wednesday, January 4, 2017 at 10:56 AM
hi nookkin, on first run after starting the computer I get an error message that the settings can't be saved, any idea how to fix this? Thanks and happy new year!
Options: Reply | Quote | Flag / Report

Wednesday, January 4, 2017 at 8:56 PM
@ceravis I plan to implement that in the next release, unfortunately I can't provide a timeline.

@Ringo Make sure you extract the program to a writable location, or alternatively use the provided .ini file and edit it to a different writable location.
Options: Reply | Quote | Flag / Report

Matthew Lewallen
Monday, March 6, 2017 at 5:58 AM
This was exactly the piece of software I was looking for. However, the new version (2.0.0.6) does not appear to work with my configuration. The old version does (1.1.0), which is strange. Both seem to detect two displays.

My configuration is this:
NVIDIA GeForce 980 Ti
Primary Display: Samsung LU28E590DS/ZA (running off of DisplayPort)
Secondary Display: Philips 277E6 (running off of HDMI)

The 2.0.0.6 version will dim the primary display but not my secondary.

Options: Reply | Quote | Flag / Report

Monday, March 6, 2017 at 8:51 PM
@Matthew Lewallen Can you send me your MultiscreenBlank2.ini file and a screenshot of the main window showing the monitors? Can you also test with scaling disabled in Windows just to rule that out?
Options: Reply | Quote | Flag / Report

Sunday, March 19, 2017 at 9:42 AM
I just want to say thank you for this. Thank you. Thank you! Thank you so very much. DisplayPort is great... except for this asinine little "feature" (it's a bug) where switching off a monitor (but leaving DP powered and connected) will cause Windows to lose track of the monitor and ruin the window/icon layout. This application allows me to selectively blank out certain monitors in my setup without having to turn off the monitor or anger the pathetically fickle DisplayPort gods.

Thank you so much!
Options: Reply | Quote | Flag / Report

Leave a comment

 
eight minus zero is (Huh?)
Comment moderation is enabled.
Your comment will appear on the page after it has been reviewed.