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, as well as mirroring the contents of screens that are physically located in another room or turned off. 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
  • Preventing OLED burn-in by covering up bright static elements or displaying inverted versions of them
  • Screen mirroring for monitors that may be physically located in another room or turned off

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.

You can rename individual monitors with a friendly name to make them easier to identify. This is especially useful for context menus that don't display the relative position of the monitor -- if a friendly name is not specified, the device ID or virtual bounds will be used as the "name" instead.

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


Scraps are floating regions that can be used to cover up parts of the screen. They can consist of solid colors or images (with an easy way to capture what's under the scrap) with varying opacity. You can create a scrap by clicking the New Scrap icon in the main MultiscreenBlank window or from the tray icon. Drag the middle of the scrap or use arrow keys to reposition; drag the corners or edges of the scrap or use Shift+Arrow to resize; and right-click inside the scrap for various options.

Color and Opacity

You can adjust opacity of a scrap by rolling your mouse wheel. Color defaults to black but you can pick any solid RGB color for the background in the right-click menu.


A scrap can display an image either by taking a screenshot of whatever is underneath it, or by loading from a file. Note that the screenshot will only be updated at the time of initial capture.

You can apply filters to the image – Invert, Grayscale, and Pixelize. Using the Invert filter together with a 50% opacity will allow you to quickly pixel-diff parts of your screen – identical portions of the image will be 50% gray while differences will be visible against the gray background.

If you want to define custom shapes, load an image with a background color representing transparent regions and then set the key color to that background color. Any regions matching the key color will be transparent and allow clicking through whatever is underneath.


Scraps default to being on top of other windows. You can change their position to be in line with other windows or behind them, which will allow you to cover up things like desktop wallpaper without covering your program.

You can also fill the width and/or height of the current monitor. This will move the scrap as needed to fit exactly within the dimensions of the monitor that contains the largest part of the scrap. And if you need to set exact coordinates, you can do that as well.

You can quickly clone an existing scrap to copy its current color, image (including filters), location, and other properties.

Screen Mirroring

Each screen can have its contents mirrored in a window. This is useful for viewing what's on an output device that's turned off or physically located in another room. Right-click on a screen and click "Mirror" to open the screen mirroring window.

When the screen mirroring window is open, you can right-click for options (including making it full screen or adjusting aspect ratio of the image). You can also toggle the blank/revealed state of the mirrored screen.

You can also mirror an arbitrary region of the desktop by clicking the Mirror Region button in the main window or in the notification area icon. This will allow you to mirror part of a screen, such as the video portion of a vertical monitor or a non-fullscreen player.

This feature has 3 significant limitations to be aware of:

  • You cannot view the contents of a blanked screen. This is because it's impossible to capture what's underneath a window using conventional methods and MultiscreenBlank's "blanking" involves placing a black window over the top of everything else. (It may be possible to do this through DWM which independently renders each window, but that's an exercise for the future.)
  • Low frame rate due to software rendering. This feature is intended for finding items on remote screens, not replacing the functionality of a hardware splitter.
  • Inability to mirror DRM-protected or hardware-overlay content. DRM-protected video output cannot be mirrored because the operating system prevents it from being captured.

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.


Restores the application if it's already running minimized


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, /toggledimXX

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.
  • toggledimXX where XX is a number from 00 to 99 : A combination of toggle and dim, dims the screen if it is fully revealed and reveals the screen if it is dimmed or blanked.

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


Mirroring is similar to blanking, with an additional region selector that allows selecting any part of the desktop. You can also specify a destination as either a screen or a region. If a destination screen is specified, mirroring is done in full-screen mode.

Mirror a region of the desktop to a specific monitor

MultiscreenBlank2 /mirror region 0,0,640,480 to \\.\DISPLAY2

Mirror the second monitor to the default location (this is saved when the mirroring window is closed)

MultiscreenBlank2 /mirror id \\.\DISPLAY2

Prompt to select a desktop region to mirror

MultiscreenBlank2 /mirror


As scraps are not bound to monitors, only the region selector can be used. You can additionally specify various parameters of the scrap or close existing ones.

Create a new scrap with default position, color, etc

MultiscreenBlank2 /cover

Create a new scrap to cover a specific location and set its opacity to 50%

MultiscreenBlank2 /cover region 20,20,300,100 opacity 50

Closing scraps

Scraps can be closed by specifying their locations. Note that this is the current location of the scrap, so if you create a scrap via command-line but manually move it later, you will need to account for the new location.

MultiscreenBlank2 /uncover region 20,20,300,100

You can pass an ID when creating a scrap, allowing all scraps with a matching ID to be closed later even if they are moved manually.

MultiscreenBlank2 /cover region 20,20,300,100 id foo
MultiscreenBlank2 /uncover id foo

Close all scraps

MultiscreenBlank2 /uncover all

Final notes

  • The /toggle and /toggledimXX 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.

Check for Updates

If checked, you will receive a small, unobtrusive notification in the main window when a new version is available. There won't be any popups and the program will not update itself at this time. Uncheck this to prevent the program from attempting to check for updates.


MultiscreenBlank includes a light and dark theme to best match other software you use. The theme will not affect blanking functionality, only the color of the main window and menus. "Automatic" will select the light or dark theme based on your system's settings.

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.


You can specify shortcuts for left-click and middle-click of the notification area icon, as well as any number of additional shortcuts available via the notification icon's right-click menu. To specify an action, use any valid command line but exclude the "MultiscreenBlank2" part. So for example, to blank all monitors except the one currently containing the mouse, enter:

/blank allexcept current

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.

Comments (92)

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

Wednesday, January 2, 2019 at 8:48 PM
thx for providing this great tool! I think it could be the first step to solve my problem, but I'd need some more help to get the second step done too.

I run a sim rig with one large nvidia surround triple screen and another 4th info monitor. I would like to be able to blank the 4th info monitor by a joystick button (while in the simulator) to show or hide the info on the 4th monitor.

With this tool I can select and blank this monitor. But I'd need to bind a hot-key to blank/show this given monitor and a way to call this hotkey via a joystick button (usb button boxes). So far I don't know how to do either of that.

Maybe some of you can help me with that?
Options: Reply | Quote | Flag / Report

Wednesday, January 2, 2019 at 9:16 PM
@Bernhard I'm not sure if AutoHotkey or EventGhost can do it easily -- depends on the USB button box. If it's HID class (treated like a keyboard device that sends keycodes) it should be trivial. Otherwise EventGhost might have a plugin for that specific type of device.

Once you figure out how to detect the button with those programs it's easy, just make AHK/EventGhost run the correct command line to toggle that screen.
Options: Reply | Quote | Flag / Report

Wednesday, January 2, 2019 at 9:33 PM
Thx so much for your quick reply. I was looking into Autohotkey - I'd prefer to avoid using another tool - but I am currently struggling to configure the same hotkey to start your tool to blank a given monitor and then reveal it at the second press. The script does not allow the same hotkey for two actions. At least not in that simple way I tried to copy from another reply from you above. I could use this as a temporary workaround to be used with hotkeys of my corsair keyboard until I get the joystick solution working - but it only makes sense if it works with the same hotkey to blank and reveal the monitor.

The buttonboxes are shown as HID-compliant gamecontroller. But I have no clue of how to address them directly. Window diver preferences give some hardware IDs, but I have still no clue of how to select and bind a given button to a hotkey - script. : (
Options: Reply | Quote | Flag / Report

Wednesday, January 2, 2019 at 9:35 PM
@Bernhard Instead of using separate "blank" and "reveal" actions, just use a single "toggle" action.
Options: Reply | Quote | Flag / Report

Wednesday, January 2, 2019 at 9:55 PM
Works like a charm! Thank you sooo much for this tool and your fantastic idea to use EventGhost. This seems like an amzing tool by itself..

Successfully bound a buttonbox button to blank and reveal the 4th info monitor! That's absolutely fantastic to be used while in the sim to show those additional infos when necessary and hide them otherwise!

All the best in 2019 and thx for your super quick help!
Options: Reply | Quote | Flag / Report

Wednesday, January 2, 2019 at 10:18 PM
Works like a charm! Thank you sooo much for this tool and your fantastic idea to use EventGhost. This seems like an amzing tool by itself..

Successfully bound a buttonbox button to blank and reveal the 4th info monitor! That's absolutely fantastic to be used while in the sim to show those additional infos when necessary and hide them otherwise!

All the best in 2019 and thx for your super quick help!
Options: Reply | Quote | Flag / Report

Tuesday, February 12, 2019 at 3:10 PM
It works great. The only feature that is missing is a feature to password protect the locked screens. I use this program to blank out my computer screens when I leave my desk instead of using the Windows Lock (Windows key+L) because Windows Lock rearranges all the applications that I have left open, after I unlock my computer.
Options: Reply | Quote | Flag / Report

Tuesday, February 12, 2019 at 9:43 PM
@Daniel Glad you're enjoying it!

Unfortunately a password-protect feature would be completely worthless since you can easily kill it with Task Manager and can even access the Start menu by pressing the Windows key.

Windows lock should not be rearranging things -- is it possible that your monitors are sleeping soon after the lock, which is what's actually causing the rearrangement? In that case you should be able to disable "Turn off the screen" in Windows power settings.
Options: Reply | Quote | Flag / Report

Thursday, February 21, 2019 at 11:55 AM
Congrats developer-designer-dreamer. This was a much needed program. You develop perfectly, design beautifully and dream big.
Options: Reply | Quote | Flag / Report

Tuesday, March 12, 2019 at 8:42 PM
Update released that added the ability to rename screens, easily copy usable command lines, screen mirroring, and a dark theme! And now it will notify you of future updates right in the app!
Options: Reply | Quote | Flag / Report

Bernhard Gehberger
Wednesday, March 13, 2019 at 8:54 AM
When I start Multiscreen Blank it is always starting minimized in the background task tray.. But I need it opened on one of my screens as I have to use it with the mouse. (Sadly the EventGhost solution to use it with joystick buttons does not work so far due to application crashes (of EventGhost))..

Is there a way to have it opened as regular window instead of minimized?
Options: Reply | Quote | Flag / Report

Wednesday, March 13, 2019 at 9:01 PM
@Bernhard Gehberger If it's set to start with Windows, that will open it minimized by default (and subsequent commands will keep it running in the background). So you can do one of the following:

1. Don't start with Windows. This way it will open to the last on-screen position when you launch it without command line arguments.

2. Quit and re-open.

multiscreenblank2 /quit

Options: Reply | Quote | Flag / Report

David Spohr
Monday, March 18, 2019 at 2:31 PM
Can you please add a feature to dim every screen you don't have a cursor at?

I've found this program based on an idea I had, that a monitor should be dimmed when you don't look at it. My ideal would be to have it use eye tracking AI and a webcam feed, but it might be simpler to base it on a cursor location.

Thanks for your consideration!
Options: Reply | Quote | Flag / Report

Friday, June 21, 2019 at 10:31 AM

Thank you for doing such a nice job. I am testing the software at this moment and it seems to do exactly what I want it to do!
You thing that makes it 100% perfect for me is to have command line parameter for the fade duration. This is because sometimes I want to fade out/in more quickly than other times in a batch file.
Do you think that is possible?

I also noticed that you can’t use /minimized and an other parameter at the same time. Is that correct?


Options: Reply | Quote | Flag / Report

Friday, June 21, 2019 at 8:01 PM
@Fred Not currently possible to set fade duration via command-line parameter but it is a configuration option. I'll keep that in mind for the future. Can you describe how you intend to use it so I have a better idea of how else I can improve?

You CAN run /minimized together with other parameters, but /minimized has to be the first one. So you can do:

multiscreenblank2 /minimized /blank current

...but you cannot do this:

multiscreenblank2 /blank current /minimized

Options: Reply | Quote | Flag / Report

Saturday, June 22, 2019 at 2:27 AM
Using /minimized as first parameter worked perfect!!!

I am a volunteer to be a technician to do a "school play" (more like a summer school) and I have to show some videos (as backdrop) on a beamer.

The problem is that the children performing the play are really young (5-10yrs). So it is impossible to create a video with fixed length.
I start the video and wait until they say a line that would be my cue to fade the video. However I have to show multiple videos with different fade times. There lies the problem.

As work-around I created multiple ini files with the fade times and a script to replace the ini file that should be active. On one occasion I have to set a different fade time while the screen is dim at 50%. Using /quit will set the brightness back to 100%, so that trick cannot be used in that case. But your program is now already 95% perfect, And although I would kindly request this feature, I don't want to push you in any way!

Many thanks for you quick reply and have a nice weekend! Regards, Fred.
Options: Reply | Quote | Flag / Report

Saturday, June 22, 2019 at 1:05 PM
@Fred I actually made the original MultiscreenBlank for running a school play and it has per-monitor fade amounts. (Just not nearly as intuitive for daily desktop use.) I think it might actually suit your needs better!

At the very least you could run both programs simultaneously to hold a 50% fade on one monitor while independently doing a full fade on top of it.
Options: Reply | Quote | Flag / Report

Tuesday, August 13, 2019 at 12:41 PM
Your program is a godsend - it really keeps me from being distracted when I only want to work on one screen.

One issue: I work on a laptop which I connect to a docking station into which 2 screens (tvs via hdmi) are plugged in. It works fine. But at the end of the day I close the laptop and put it to sleep. When I open it and hit "blank all but main" it blanks the main instead. Not only that, I can't seem to blank the non-main screen at all until I restart.

Is there something I'm missing? Thanks!
Options: Reply | Quote | Flag / Report

Tuesday, August 13, 2019 at 8:19 PM
@Charlie That's unfortunately an issue with Windows moving the "blanker" window away from "nonexistent" screens. I'll see what I can do, but you can probably rig up a script to restart Multiscreen Blank in the meantime.
Options: Reply | Quote | Flag / Report

Wednesday, August 14, 2019 at 12:03 PM
@nookkin I figured Windows was the culprit - big surprise. I'll try to figure out how a script would work in this case. Thanks for the prompt reply.
Options: Reply | Quote | Flag / Report

Charles Martin
Thursday, September 12, 2019 at 12:47 PM
Program is running wonderfully. One suggestion:

I suspect that many people (me included) use the "Blank all but main" command more than any other. Right now I right click on the taskbar icon and click "Blank all but main" many times during the day. It would be great to configure the taskbar icon so that a left click did your most common operation - in my case, blank all but main.

Just a suggestion - many thanks for a great program.
Options: Reply | Quote | Flag / Report

Thursday, September 12, 2019 at 11:54 PM
@Charles Martin
I will look into adding a "single click action" setting when I get a chance. For now you can create a Quick Launch shortcut or bind a key on your keyboard (via AutoHotkey or EventGhost) and run the following command to accomplish the action you want:

MultiscreenBlank2 /blank allexcept id \\.\DISPLAY1

Or if you want to blank all screens except the one the current mouse is on:

MultiscreenBlank2 /blank allexcept current

Personally I use the keyboard macro for this, using /toggle so pressing the key a second time reverts it.
Options: Reply | Quote | Flag / Report

Michael C.
Monday, September 23, 2019 at 6:15 AM
Oooh, I was wanting to make a similar utility until I ran across this one. That said, there's a couple of features I had been wanting that this is still lacking.

1. I'd love if there could be a running program watchlist of sorts, where you specify the programs to watch for, and when they're detected, blank/dim the specified monitors/groups. For example, I have a 3-monitor setup, and when I run Netflix or Plex (on the center monitor), I want my side monitors to dim or blank.
2. For my use cases, I actually prefer dimming instead of blanking entirely. Is there a way to set "Dim x%" as default for various operations (eg. double-clicking a monitor representation) instead of "Blank"?

Thanks for an awesomely-useful app!!
Options: Reply | Quote | Flag / Report

Michael C.
Monday, September 23, 2019 at 6:38 AM
Also, a `/toggledimXX` parameter would be very welcome, something that goes from fully visible to XX% dim and back to fully visible. ;)
Options: Reply | Quote | Flag / Report

Monday, September 23, 2019 at 8:07 PM
@Michael C. Per-program dimming would be better done with AutoHotkey (rather than me attempting to re-implement that functionality)

Default operations and "toggle dim" is a good idea, I'll see what I can do next time I get a chance to work on it..
Options: Reply | Quote | Flag / Report

Michael Cohen
Friday, September 27, 2019 at 3:16 AM
@Michael C. Per-program dimming would be better done with AutoHotkey (rather than me attempting to re-implement that functionality)

Just to be clear, I didn't mean applying dimming to individual programs. I meant dimming entire (selected) screens when a specific program was detected running. Not sure if that's what you understood or not, just clarifying. :)
Options: Reply | Quote | Flag / Report

Saturday, September 28, 2019 at 7:29 PM
@Michael Cohen Yep that's how I understood it. AutoHotkey has much more robust support for that kind of behavior than I'd be able to make myself, and you can use existing commands to make MultiscreenBlank react as you want it.
Options: Reply | Quote | Flag / Report

Sunday, October 27, 2019 at 10:18 PM
Released an update with various fixes and some cool new features including the ability to blank regions of a screen!

@nookkin Added shortcuts including left and middle click on the tray icon. Downside of left-click is Windows doesn't provide a good way to distinguish between two single clicks vs. a double click for tray icons.

@Michael C. unfortunately didn't get a chance to implement default dimming action yet as that would require a bigger rewrite, but it'll happen eventually!
Options: Reply | Quote | Flag / Report

Friday, November 15, 2019 at 5:08 AM
@nookkin hey, thanks for your software it's quite handy. However, I have a suggestion: please consider adding a support for hotkeys (keyboard shortcuts) to it. Similar to how you made custom context menus which can execute any commands, but instead of context menu - keybinds/hotkeys.

Currently I achieved the result I want with additional third-party software which listens to my key combinations and executes multiscreen blank executable with certain parameters and while I was downloading that software and setting it all up I kept wondering why this is not a feature in your software :)
This is also achievable with Windows shortcuts (you can specify key shortcuts there), but it's quite unreliable and sometimes randomly you have a few seconds delay before it is executed. From what I understood this is because Windows waits for other apps to respond to that hotkey and not all apps are responsive in this matter so there is timeout of 3-4 seconds or so. This method doesn't require any additional software but I found it unreliable and decided to go with WinHotKey.
Of course this is also doable with AHK and AutoIt too.

This functionality seems quite logical for this type of software so I hope you'll consider adding it :)
Options: Reply | Quote | Flag / Report

Friday, November 15, 2019 at 5:10 AM
Also I second that suggestion on /toggledim. I also prefer dimming over blanking, but in my setup I have to use toggle.
Options: Reply | Quote | Flag / Report

Friday, November 15, 2019 at 11:11 PM
@Dima The reason I haven't made my own implementation of keyboard shortcuts is that I'd basically need to reinvent AutoHotkey's global keyboard hook and I probably wouldn't do as good a job of it as they did. Thus it just makes more sense to use an existing piece of software for that part, in my opinion. The shortcuts in the menu, on the other hand, were trivial to implement :)

Toggle Dim is planned for the next release! Can't give you an ETA unfortunately. Hopefully before the end of 2019.
Options: Reply | Quote | Flag / Report

Friday, November 22, 2019 at 7:41 PM
@Dima Added "toggle dim" support, didn't have much of a chance to test it but let me know how it works!

multiscreenblank2 /toggledim50 current

Options: Reply | Quote | Flag / Report

Leave a comment

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