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 or right click for more options. (Note that the mouse cursor will be invisible unless you have enabled it in settings.)


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 Matrox 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:


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.


Closes the application. This is useful for batch scripts where you need to run the program for a bit and then close it at the end.


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.

Operations: /blank, /reveal, /toggle, /dimXX

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 operations are available:

  • blank: Blanks the specified screen, i.e. fully fades it to black. Double-clicking on the screen will reveal it.
  • reveal: Reveals the specified screen.
  • toggle: If the screen is blank, reveals it. If the screen is not blank (including fully revealed or partially dimmed), blanks it. This operation applies to each screen individually – if screens A and B are blank while screen C is revealed, the result will be screens A and B being revealed while screen C is blanked. Toggling a dimmed screen will blank it.
  • dimXX where XX is a number from 00 to 99 : Dims the screen to the specified amount. A dimmed screen still allows you to interact with on-screen elements normally.

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.
  • current: specifies the screen currently containing the mouse.
  • 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 the monitor that the mouse is currently on

You may track the monitor the mouse is currently on with the "current" selector.

MultiscreenBlank2 /blank current

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

Final notes

  • The /toggle operation is applied at the screen level (not the group level) so if some of the monitors in a group are blank, they will be revealed (and the currently-revealed ones in that group will be blanked).
  • Dimming a monitor will apply regardless of current state (blank or revealed). Dimmed monitors are considered "revealed" for the purposes of the toggle operation, so toggling a dimmed monitor will fully blank it.
  • Dimming a monitor to 100% is the same as blanking. Dimming to 0% is the same as revealing.


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.

Add to desktop right-click menu

On Windows Vista and above, you can add a "Blank this screen" option to the desktop's right-click menu. This will blank the screen under the mouse cursor. If Multiscreen Blank is not currently running, it will be automatically started.

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 (provided that the screen configuration is the same).


Desktop context menu entry remains after uninstalling / errors at startup after uninstalling

Multiscreen Blank is a standalone application and does not come with its own uninstaller. If you have enabled the desktop right-click option or configured the program to start with Windows, Windows has no way of knowing that the program was removed. Be sure to un-check both options in the Settings dialog before deleting MultiscreenBlank2.exe. If you have already deleted the file, you will need to run it again and toggle the options.

Alternatively you can manually delete the associated registry keys.

Start with Windows


Add to desktop context menu


Desktop context menu entry doesn't appear on Windows 2000 or XP

The menu relies on Windows functionality available in Windows Vista or later.

Windows DPI scaling

Starting with version 2.1, Multiscreen Blank supports Windows 10's per-monitor DPI scaling mode natively. All operations use physical device pixels. If you have a configuration file from a previous version of Multiscreen Blank, your group definitions may need to be redefined.

Due to the nature of Windows DPI scaling, it's possible that some configurations will cause the program to incorrectly determine physical monitor bounds, especially after switching scaling modes or adding/removing monitors with different scaling factors. If you are experiencing problems related to scaling (such as only part of the screen being blanked), sign out of Windows and tryt again.

If all else fails...

You may reset Multiscreen Blank's settings by running it with the "/reset" command-line argument or by manually deleting the MultiscreenBlank2.ini file where its settings are stored.

Feel free to reach out in the comments if you are experiencing an issue not outlined above.


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.


Go to download page

Comments (60)

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" 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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: Win32 Version: 4.0.30319.34209 built by: FX452RTMGDR CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll ---------------------------------------- MultiscreenBlank2 Assembly Version: Win32 Version: CodeBase: file:///C:/Program%20Files%20(x86)/MultiscreenBlank2/MultiscreenBlank2.exe ---------------------------------------- Microsoft.VisualBasic Assembly Version: 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: 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: 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: 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: 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

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

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

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 ( 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 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

Ed T
Wednesday, May 31, 2017 at 2:22 PM
Just got this program, really liking it so far! Is there any way to set a keybind to black out a certain monitor?
Options: Reply | Quote | Flag / Report

Thursday, July 27, 2017 at 2:42 AM
This program is excellent, clean-interface, and very tiny!
I use it to watch full screen video on external monitor #2 (dimming 1 and 3) and to dim all screens at night (since current Win10 Night Light only seems to dim/red-shift my primary screen on my Surface but not the other 2 external monitors).

Feature Votes and Ideas
- Dim from the command line
- Save dim settings with a group
- Double-click group toggles default (dim or blank)
- Dim on sun schedule (dim sunset, un-dim sunrise)
- Dim to a different color temperature (like Night Light)
- Assign a screen to more than one group

- I see a very thin, bright line at the far left of my external monitors when I dim or blank the external monitors.

Thanks for the good work.

Options: Reply | Quote | Flag / Report

Wednesday, August 2, 2017 at 3:33 AM
When I try to use /toggle on a group, the app crashes.
Options: Reply | Quote | Flag / Report

Jasper Wegdam
Tuesday, August 22, 2017 at 6:03 AM
Maby add a hotkey fuction because i am using it on and of witch makes it kind off annoying to have to go to the application in the bottom off my screen to disable my screens. would be nice if i could just press a combination off buttons and it would activate what i want it to.
Options: Reply | Quote | Flag / Report

Tuesday, September 19, 2017 at 10:27 AM
I like to have this run when I get into a game, but not while I am waiting to get into one. So I setup multiple batch files (/toggle won't work for groups) and assigned them for toggling through AutoHotkey.

I can't, however, stop the command prompt from taking focus from the game, which makes the use of the program very situational. Anyone have a better solution or no of a way I can make this work?
Options: Reply | Quote | Flag / Report

Wednesday, September 20, 2017 at 9:07 PM
@Shaun Can you run the batch file in hidden mode via AutoHotkey?

Run, batch.bat, , Hide

I plan to add (working!) support for toggling groups in a future update.
Options: Reply | Quote | Flag / Report

Monday, November 6, 2017 at 12:35 AM
I have released a significant update that fixes command-line issues mentioned in various comments and DPI scaling issues. Also added some new features (add right-click menu to desktop, dim from command line). See the product/download page for more details.
Options: Reply | Quote | Flag / Report

Tuesday, December 12, 2017 at 6:32 AM
Hi I'm getting this error since today:

See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.IndexOutOfRangeException: Index was outside the bounds of the array.
at MultiscreenBlank2.INIFile.Load(Boolean IgnoreError)
at MultiscreenBlank2.INIFile..ctor(String Filename, Boolean IgnoreError)
at MultiscreenBlank2.frmMain.frmMain_Load(Object sender, EventArgs e)
at System.EventHandler.Invoke(Object sender, EventArgs e)
at System.Windows.Forms.Form.OnLoad(EventArgs e)
at System.Windows.Forms.Form.OnCreateControl()
at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
at System.Windows.Forms.Control.CreateControl()
at System.Windows.Forms.Control.WmShowWindow(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.Form.WmShowWindow(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

************** Loaded Assemblies **************
Assembly Version:
Win32 Version: 4.7.2600.0 built by: NET471REL1LAST
CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll
Assembly Version:
Win32 Version:
CodeBase: file:///E:/Downloads%20E/Program%20stuff/Install%20Files/MultiscreenBlank2.0.0.6/MultiscreenBlank2/MultiscreenBlank2.exe
Assembly Version:
Win32 Version: 14.7.2556.0 built by: NET471REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/Microsoft.VisualBasic/v4.0_10.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
Assembly Version:
Win32 Version: 4.7.2556.0 built by: NET471REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
Assembly Version:
Win32 Version: 4.7.2600.0 built by: NET471REL1LAST
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
Assembly Version:
Win32 Version: 4.7.2556.0 built by: NET471REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
Assembly Version:
Win32 Version: 4.7.2556.0 built by: NET471REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
Assembly Version:
Win32 Version: 4.7.2556.0 built by: NET471REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
Assembly Version:
Win32 Version: 4.7.2556.0 built by: NET471REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
Assembly Version:
Win32 Version: 4.7.2556.0 built by: NET471REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.Remoting/v4.0_4.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the section.
The application must also be compiled with debugging

For example:

< jitDebugging="true" />

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.
Options: Reply | Quote | Flag / Report

Frederik S
Monday, January 29, 2018 at 2:52 AM
Hi there,

in a similar way, I would like to have this tool accessible via the "sidebar" from 8gadgets package. This would be really nice.
Options: Reply | Quote | Flag / Report

Monday, January 29, 2018 at 9:21 PM
@Ringo Can you reset the configuration?

@Frederik S You'll need to figure out a way to add a custom shortcut/widget. You can then use command line arguments to actually have MultiscreenBlank do its thing.
Options: Reply | Quote | Flag / Report

Christiane Burch
Wednesday, February 14, 2018 at 8:06 AM
Is there a way to keep the program open on the desktop (like a clickable app) so that the current status is always displayed or could the notifications bar show when 2 screens are on? We have "back to back" monitors in our shop (one for Customers) and are searching a solution that shows the sales representative when the customer screen is on or off (so as to not forget)!
Options: Reply | Quote | Flag / Report

Wednesday, February 14, 2018 at 10:11 PM
@Christiane Burch That's how the program should work -- it will display a window with virtual monitors on it and this window will remain open until you minimize. Darker ones are dimmed, lighter ones are visible.

Do you want it to stay open on top of all other windows?
Options: Reply | Quote | Flag / Report

Darrell Hale
Thursday, March 8, 2018 at 6:04 AM
Can a text label be added to each screen icon to differentiate which monitor each represents? Right now I only see the tiny "All" button and two large, unlabeled, and otherwise identical blue icon blocks.

Something similar to how Multiscreen Blank 1.1.0 labeled each monitor icon with 1, 2, etc but using more descriptive text.

The new feature could allow a user supplied text label field for each icon to be shown, or a checkbox option that would display the Physical Device ID (shown after the last slash in the "Information..." popup such as DISPLAY1, DISPLAY2, etc) within the icon.

Thanks, and thanks for the great utility!
Options: Reply | Quote | Flag / Report

Tuesday, August 28, 2018 at 5:56 PM
I'm a total newbie and I love this app but have no clue how to *actually use* any of the command lines.

Would be nice to have some guidance other than "here are the command lines, just throw them at the computer until it does what you want"
Options: Reply | Quote | Flag / Report

Tuesday, August 28, 2018 at 6:52 PM
@djshokwave You can run a command in various ways, including:
1. Open the Command Prompt and run from there (one off).
2. Create a batch file (text file with .bat extension) and list those commands in there. Double-click to run it.
3. Create a Windows shortcut with that command. Double-click the shortcut to run it.
4. Run as a script from another program that supports it, such as EventGhost

As for what to put in the command itself... unfortunately that depends heavily on what you're trying to accomplish here. That's why they're provided as examples. If you can describe your display configuration and what you want to do with MultiscreenBlank, I can likely point you in the right direction.

General format is


OPERATION is what you're trying to do -- blank, reveal, etc
SELECTOR is the screen(s) you want to apply that operation to -- a specific screen based on pixel bounds, a group of screens, etc
PARAMETER is the details of selectors that require it -- actual pixel bounds, group number, etc. Some selectors (current, all) don't take parameters so nothing needs to be specified for those.
Options: Reply | Quote | Flag / Report

Tuesday, August 28, 2018 at 6:55 PM
@Darrell Hale Thanks for the suggestion, should be doable when I get a chance to work on it!

I am intentionally not adding automatic numbers to the monitor display due to Windows being rather arbitrary with them -- but user-specified text (with whatever numbering scheme you choose) should be doable.
Options: Reply | Quote | Flag / Report

Tuesday, August 28, 2018 at 7:09 PM
So it turns out I'm doing the right thing and it's not working. Much worse than I thought.

Either that or you've left out a crucial detail. If that's the case, then I guess that's what I'm asking for.
Options: Reply | Quote | Flag / Report

Tuesday, August 28, 2018 at 7:59 PM
@djshokwave Do you need help with running command lines in general, or with getting my specific program to respond in the expected manner? Can you describe "not working" -- are you getting error messages?
Options: Reply | Quote | Flag / Report

Tuesday, August 28, 2018 at 8:21 PM
My other comment must have gotten lost. It contained a link to a lightshot screenshot.

If it's as simple as opening the command prompt, typing any of the example commands, and pressing ENTER, then it simply doesn't work because that's exactly what I did. The following error is displayed, no matter which example command I try:

'MultiscreenBlank2' is not recognized as an internal or external command,
operable program or batch file.

The app is saved in a folder with the same name on my secondary HDD (F:\Programs\MultiscreenBlank2\MultiscreenBlank2.exe) and running in standalone mode.
Options: Reply | Quote | Flag / Report

Tuesday, August 28, 2018 at 8:26 PM
@djshokwave Ah, gotcha. You need to either switch to the directory it's saved in:

cd \Programs\MultiscreenBlank2

or update your PATH variable as described here to include the install directory if you want it to work from any command prompt (no matter what working directory it's in).

These are steps you'd need to take with pretty much any command-line utility that you manually copy to a given location.
Options: Reply | Quote | Flag / Report

Tuesday, August 28, 2018 at 8:48 PM
Wow. Way more too this than I thought, lol. Like I said, total newbie here.

If I understand you correctly, using the much MUCH easier of the two options, I would have to include the cd command in the batch file I want to write, yes?

I *think* from there I can figure out how to make a keyboard shortcut (ALT-CTRL-M or something like that) and run the batch file.

Thanks for your help.
Options: Reply | Quote | Flag / Report

Tuesday, August 28, 2018 at 8:53 PM
@djshokwave You can add cd to the batch file, include the full path in the command (so type "F:\Programs\MultiscreenBlank2\MultiscreenBlank2 /command..." in the file), or put the batch file in the same directory as the program.

If you're trying to use AutoHotkey or something to make keyboard shortcuts, you should be able to just call MultiscreenBlank directly (using its full path) with no need for an extra batch file.
Options: Reply | Quote | Flag / Report

Tuesday, August 28, 2018 at 9:00 PM
Never used AutoHotkey, would prefer not to. I was under the impression that setting macros to shortcuts was pretty simple to do in Windows, though.
Options: Reply | Quote | Flag / Report

Tuesday, August 28, 2018 at 9:47 PM
For some unknown reason, I can get Windows' built-in kb shortcut function to work with my dim command, but not my reveal command.

What I know:
- Both shortcuts work when double-clicked, even when both are hidden (set to still "show" in explorer obviously)
- Swapping the respective key combos - no change.
- Changing the reveal selector from ALL to specific display ID - no change.
- Changing the reveal command from /REVEAL to /DIM00 - no change.
- No errors are shown, reveal command/batch simply doesn't run except when double-clicked.

The reveal command outright refuses to work with key combos. I'm stumped.

I will not download and install AutoHotkey just to use it for this one, simple thing!
Options: Reply | Quote | Flag / Report

Tuesday, August 28, 2018 at 9:53 PM

Changing the Dim command to toggle the specified display does not work with key combos either, but at least I can simply double-click the blank screen to reveal it again.

This is just bizarre, and I guess it's down to the app's programming.

Still won't use AutoHotkey. That's a rabbit hole I just don't have room for in my life.
Options: Reply | Quote | Flag / Report

Saturday, September 1, 2018 at 7:35 AM

is there any option to add feature like:

If I open full screen app (game or movie) the second (or more) screen will be blanked automatically? It could be a new checkbox in settings tab.

It would be awesome, really ;)

Options: Reply | Quote | Flag / Report

Sunday, September 2, 2018 at 7:30 PM
@djshokwave There's nothing hotkey-specific in the programming. If you're using the hotkeys built into Windows, they only work if Windows Explorer has focus (which it won't if the screen is blank because MultiscreenBlank uses a layered window). Thus MultiscreenBlank isn't even receiving the commands. What you need is something that has a system-wide keyboard hook, which sadly means 3rd-party software like AutoHotkey.

AutoHotkey is really simple. Just install it and create a new text file. Name it something like "blank.ahk" (the ".ahk" extension is needed). Then put this in:

^!b:: Run, C:\Path\MultiscreenBlank2.exe /dim75 all return ^!r:: Run, C:\Path\MultiscreenBlank2.exe /reveal all return

^!b:: means "when Ctrl+Alt+B is entered, do the following" and the command below it will dim all screens to 75%. So if you press Ctrl+Alt+B, the above script will dim all screens. If you press Ctrl+Alt+R, all screens will be revealed.
Options: Reply | Quote | Flag / Report

Sunday, September 2, 2018 at 7:38 PM
@Bart No feature in the program itself, but you can of course automate it with a batch file (for that specific program) otherwise it should be possible to do some AutoHotkey magic to detect any full-screen programs. I unfortunately have no plans to add that as a built-in feature since detecting full-screen windows can be rather difficult programmatically.

As an example, this is the batch file I use for launching GTA V. I have MultiscreenBlank2 in my PATH and put the batch file in the same folder GTA V is installed in.

MultiscreenBlank2 /blank allexcept ID \\.\DISPLAY1 start /wait GTAVLauncher.exe MultiscreenBlank2 /reveal all

This blanks all screens except the one GTA V is running on, launches GTA V, waits until it closes, and then reveals all screens.
Options: Reply | Quote | Flag / Report

Wednesday, November 14, 2018 at 2:20 PM
Thank you. For the last 2 days I have been modifying my "SecondMonitorBlanker" program since I have once again, tried different screen resolutions and DPI settings. I have 2 monitors, but different sizes, resolutions and DPI settings. I have been able to get my program to work by using a large hammer and beating the snot out of the code till it worked. Well, I gave up, for now, and found your program. I was happy to see that the DPI issues are addressed. So, for now, I bow to your programming skills and say thank you once more !!!!!!
Options: Reply | Quote | Flag / Report

Leave a comment

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