Blank, dim, and mirror your screens in a multi-monitor setup
If you would like support from the developer or the user community, feel free to leave a comment below. Your feedback (both positive and critical) helps to improve the software. Please be respectful to other users and don't include any information that you don't want to be visible to the public.
Alternatively, feel free to contact the developer directly.
Comments (172)
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
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.
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.
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.
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.
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.
************** Exception Text ************** System.ComponentModel.Win32Exception (0x80004005): The parameter is incorrect at System.Windows.Forms.Form.UpdateLayered() at System.Windows.Forms.Form.set_Opacity(Double value) at MultiscreenBlank2.frmMain.SetMonitorState(MonitorIcon[] Monitors, MonitorAction Action, Double DimAmount) at MultiscreenBlank2.frmMain.mnuAppContextBlankAll_Click(Object sender, EventArgs e) at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e) at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e) at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e) at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea) at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea) at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) at System.Windows.Forms.Control.WndProc(Message& m) at System.Windows.Forms.ToolStrip.WndProc(Message& m) at System.Windows.Forms.ToolStripDropDown.WndProc(Message& m) at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) ************** Loaded Assemblies ************** mscorlib Assembly Version: 4.0.0.0 Win32 Version: 4.0.30319.34209 built by: FX452RTMGDR CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll ---------------------------------------- MultiscreenBlank2 Assembly Version: 2.0.0.5 Win32 Version: 2.0.0.5 CodeBase: file:///C:/Program%20Files%20(x86)/MultiscreenBlank2/MultiscreenBlank2.exe ---------------------------------------- Microsoft.VisualBasic Assembly Version: 10.0.0.0 Win32 Version: 12.0.51209.34209 built by: FX452RTMGDR CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Microsoft.VisualBasic/v4.0_10.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll ---------------------------------------- System Assembly Version: 4.0.0.0 Win32 Version: 4.0.30319.34209 built by: FX452RTMGDR CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll ---------------------------------------- System.Core Assembly Version: 4.0.0.0 Win32 Version: 4.0.30319.34209 built by: FX452RTMGDR CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll ---------------------------------------- System.Windows.Forms Assembly Version: 4.0.0.0 Win32 Version: 4.0.30319.34209 built by: FX452RTMGDR CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll ---------------------------------------- System.Drawing Assembly Version: 4.0.0.0 Win32 Version: 4.0.30319.34209 built by: FX452RTMGDR CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll ----------------------------------------
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!multiscreenblank2 /toggle group 1 dim 65
@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.
My configuration is this:
NVIDIA GeForce 980 Ti
Primary Display: Samsung LU28E590DS/ZA (running off of DisplayPort)
Secondary Display: Philips 277E6 (running off of HDMI)
The 2.0.0.6 version will dim the primary display but not my secondary.
Thank you so much!
Thanks!
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
Bug
- 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.
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?
Run, batch.bat, , Hide
I plan to add (working!) support for toggling groups in a future update.
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 **************
mscorlib
Assembly Version: 4.0.0.0
Win32 Version: 4.7.2600.0 built by: NET471REL1LAST
CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll
----------------------------------------
MultiscreenBlank2
Assembly Version: 2.0.0.6
Win32 Version: 2.0.0.6
CodeBase: file:///E:/Downloads%20E/Program%20stuff/Install%20Files/MultiscreenBlank2.0.0.6/MultiscreenBlank2/MultiscreenBlank2.exe
----------------------------------------
Microsoft.VisualBasic
Assembly Version: 10.0.0.0
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
----------------------------------------
System
Assembly Version: 4.0.0.0
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
----------------------------------------
System.Core
Assembly Version: 4.0.0.0
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
----------------------------------------
System.Windows.Forms
Assembly Version: 4.0.0.0
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
----------------------------------------
System.Drawing
Assembly Version: 4.0.0.0
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
----------------------------------------
System.Configuration
Assembly Version: 4.0.0.0
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
----------------------------------------
System.Xml
Assembly Version: 4.0.0.0
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
----------------------------------------
System.Runtime.Remoting
Assembly Version: 4.0.0.0
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 system.windows.forms section.
The application must also be compiled with debugging
enabled.
For example:
<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>
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.
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.
@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.
Do you want it to stay open on top of all other windows?
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!
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"
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
multiscreenblank2 /OPERATION SELECTOR PARAMETER
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.
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.
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.
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.
F:
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.
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.
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.
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.
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!
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.
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 ;)
Cheers
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.
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.
This blanks all screens except the one GTA V is running on, launches GTA V, waits until it closes, and then reveals all screens.MultiscreenBlank2 /blank allexcept ID \\.\DISPLAY1 start /wait GTAVLauncher.exe MultiscreenBlank2 /reveal all
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?
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.
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. : (
I can address buttonbox's buttons within EventGhost and make it start MultiscreenBlank. I can make it work with configuring one button to blank and another to reveal the screen.
Any idea how to make it work with using the same button?
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!
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!
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.
Is there a way to have it opened as regular window instead of minimized?
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
multiscreenblank
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!
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?
Regards,
Fred
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
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.
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.
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!
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.
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:
Or if you want to blank all screens except the one the current mouse is on:MultiscreenBlank2 /blank allexcept id \\.\DISPLAY1
Personally I use the keyboard macro for this, usingMultiscreenBlank2 /blank allexcept current
/toggle
so pressing the key a second time reverts it.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!!
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..
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. :)
@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!
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 :)
Toggle Dim is planned for the next release! Can't give you an ETA unfortunately. Hopefully before the end of 2019.
multiscreenblank2 /toggledim50 current
@Tony Cross Unfortunately not possible today, as that would probably require putting the monitor to sleep via DPMS (and that tends to make Windows not see the monitor any more, rearranging all the windows). You'll have a better chance using the button on the monitor as some of them keep the signal alive.
Ok, that's fair enough, I've experimented with other software that turns one monitor off and seen how that messes up where all the windows end up.
However, the monitor backlight is affected by the brightness control isn't it? It certainly seems to be so on my Asus ProArt monitor. Would it be possible to set the monitor brightness to 0 to reduce the backlight when blanking the screen? Perhaps add a setting value to specify the screen brightness to be restored when un-blanking?
@Tony Cross Dimming physical monitor brightness is theoretically possible via DDC/CI but not necessarily possible to dim all the way. There's also a lot of buggy implementations out there.
I am changing the brightness now using a tool from Nirsoft but it means two separate actions; dim the brightness then blank the screen, followed by revert the screen and replace the brightness. It would be so much better if your tool could do both. :)
@Tony Cross Dimming physical monitor brightness is theoretically possible via DDC/CI but not necessarily possible to dim all the way. There's also a lot of buggy implementations out there.
I am changing the brightness now using a tool from Nirsoft but it means two separate actions; dim the brightness then blank the screen, followed by revert the screen and replace the brightness. It would be so much better if your tool could do both. :)
I have two batch files working now that use your tool to blank/reveal the screen and a NirSoft tool to dim/brighten the monitor settings. The reveal batch file shortcut is assigned a keyboard hotkey which works - except when the (primary) screen is blanked via your tool.
I have a shortcut on the taskbar so can reveal my primary monitor via the second screen, but do you know why the shortcut hotkey doesn't work when the primary screen is blanked?
What would be really good is if I could map the 'double-click on a blanked screen' to a specific batch file, then I could run my reveal batch file just by double-clicking the screen. I already have the 'blank the screen' batch file mapped to a right-click on the screen.
I switch between two screen setups using Helios Display Manager. This allows to switch between single screen setup and nvidia surround screen setup.
Normally I use MultiScreen Blank to turn off the 4th info screen sitting above a triple screen monitor setup as one large nvidia surround screen. Sadly I have to switch to a 4 single screen setup for a few games. In order to be able to use MultiScreen Blank after having swtiched the screen setups (MSB then still shows the old/wrong screen setup) I have to open settings and close them again, which reloads the correct screen setup.
So in this situation it would be great to have a F5 / refresh function to load the current (changed) screen settings into MSB.
cheers,
Bernhard
PS Super thankfull for the existence of this tool as I used it many times daily!!
Is it also posible to add a image? Maybe also combinate it with the brightness function?
@Bernhard I'll keep this in mind for a future version, will probably want this configurable in some way as reloading will likely end up revealing screens unexpectedly if the dimensions don't match exactly
But sometimes it won’t blank and the taskmsnager says it couldn’t run.
Is there some how a force run?
Guy
I'm still seeing notifications and stuff on them.
I implemented a timer a while back (where it would repeatedly bring the window to the top) but that made it almost impossible to close and introduced lag. I'll revisit that when I get a chance!
I tried every monitor app I could find for a simple solution to dimming or blanking monitors with the mouse. Either they did not have the feature or I could not figure out how to set it up. Most had way more features than I was looking for anyway. The screen savers, split screens and customizable task bars were nice but I wasn't really looking for all those bells and whistles.
Finally I decided to dig deeper into the Multiscreen Blank help files because they seemed to be saying that I could create some kind of clickable shortcut. I'm not big on Hotkeys; its too much trouble trying to fumble around and find the right keys to press. I prefer to just click my way around the internet.
After some trial and error, I finally managed to create a working desktop icon that would blank my second monitor. I never could figure out how to make a proper shortcut so I finally just right clicked on another exe file and selected create shortcut. From there I renamed the new shortcut, changed it's icon and modified its properties to reflect those in the Multiscreen help files. With one working shortcut, making two more was easy.
I decided to go one step further and make some customized icons that have a blue background to match my taskbar with the text D1, D2 and T2 (toggledim1, toggledim2, toggle 2). All three shortcuts were then placed in the quick-launch.
I use this every day, working, watching movies, working while watching movies etc. Glad I decided to take a closer look at Multiscreen Blank. It ended up being exactly what I was looking for.
Its pretty much perfect like it is but here's some suggestions anyway :).
Make a YouTube help video. No videos anywhere for people like me who don't know how to make shortcuts or set up any of the options.
Don't know if its even possible but another cool feature would be some kind of slider in the main window. Instead of needing to change the shortcut you could just do toggledim_slider and dim to whatever level you have preset.
Larger font for the monitor names, they are really small on my display.
That's it. Thanks for making a great app.
For shortcuts, you can use MultiscreenBlank.exe and right-click-drag to create it, then modify the parameters.
There's no slider in the main window but you can right-click an icon and select a specific Dim level from a few presets (custom levels will happen eventually).
You can also create shortcuts for the tray menu (which you access by right-clicking on the MultiscreenBlank icon instead of wasting taskbar space). Do this from the "Shortcuts" tab in Settings.
I'll consider more UI customizations like font size too. Unfortunately can't promise an ETA as I'm unusually busy these days.
1 question: I current have:
"D:\MultiscreenBlank2\MultiscreenBlank2.exe /blank id \\.\DISPLAY3 id \\.\DISPLAY4"
to blank 2 screens but is it possible to also add a dim arg to also dim \\.\DISPLAY2?
example: "D:\MultiscreenBlank2\MultiscreenBlank2.exe /blank id \\.\DISPLAY3 id \\.\DISPLAY4 /toggledim70 id \\.\DISPLAY2"
Just solved it by launching the program twice with two different shortcuts with different arguments.
Am I right that blank screen will prevent burn ins?
Moreover, is there any workaround to make timed blanking of screen which is not used (mouse cursor is not used on it)? And revealing when cursor moves in?
P.s. make "donate" page :)
While there is not a Multiscreen Blank donation link at present, there is a donate link for the NPS Image Editor program at:
http://nps.nookkin.com/donate.ndoc
Even though the link is specified for another program, any money donated there will still end up supporting Alexey "Lyosha" Blinnikov.
Done and done. Thanks Darrell !
Thanks for the app Nookkin!
I went through the whole thread and saw a couple of guys asking the question I'm about to ask but it seems it remains unanswered... or I just didn't see the answer for what it was, so here I quote Sergio:
Is there any workaround to make timed blanking of screen which is not used (mouse cursor is not used on it)? And revealing when cursor moves in?
First off, love the software, and thank you for giving it out for free!
Second, I've got an issue that I hope you can help with. Right now I'm using the software to create a mirror of a display, and display it on a second display, which works perfect. The issue that I'm running into, is that I don't have a way to CLOSE the mirrored window, without running a batch script as an admin, which I can't do for the use-case I have. Is there any way to close a mirrored window with a command line shortcut?
As a sort of nuclear option workaround you can run the below to close everything which will close all mirrors as well
multiscreenblank2 /quit
And of course you can manually close a full-screen mirror by right-clicking on it
I would like to know if this software is able to fully blank a 34 inch ultrawide screen?
The limitation is it can only display a black image, it won't actually put the monitor to sleep via DPMS.
I would like to be able to blank a screen using another color than black. I know that I can use scraps to do that but it is much more work to create the scrap, change its color and size, and then clone it to the other screen I also want to make white.
Why white? The first reason is that, during a Zoom or Teams meeting on my main (center) monitor, I would like to use my left and right monitors as a light source to improve the camera image quality. Many smartphones are already using this technique as a makeshift flash for improving lighting while taking selfie pictures. The second reason is that, during a corporate meeting, the white color is more elegant when blanking a PowerPoint presentation which has a white background.
So, having the ability to save scraps profiles would be a great feature to add. If saving scraps profiles is complex to implement, just having the ability to choose the blanking color would already be a great improvement. Thanks!
Oh but there's more! You can also copy a command-line for any scrap you have open so you can save it for later (either a Windows shortcut or MultiscreenBlank's custom commands)!
It seems like it tracks the blank status per virtual desktop, but I ended up in the situation where the tool shows all displays are on but one was still off and nothing I did could make it come back on.
Unfortunately Microsoft doesn't seem to provide an API to programmatically do this. It also "forgets" which windows were pinned so it won't remember in the future, and "show all windows from this app" doesn't seem to work at all for me, so even this workaround isn't great. When I have some free time I'll poke around a bit more and see if there's some undocumented way to do it.
If you delete multiscreenblank2.ini, that will reset everything and it should work. Note that the default configuration redirects to %appdata%\nookkin\MultiscreenBlank\MultiscreenBlank2.ini
Firstly thanks for this great tool. My question is that for some reason, "show mouse cursor on black screens" after checking and applying it. Do you know how to fix it? It is a newly installed windows 21H1. I did not have such issue before I remembered.
I have the same issue. In fact, none of the settings in that specific tab seem to save properly. They all reset after pressing "OK"
I'm also having the same issue. I can't change the fade duration or the function.
I'm experiencing a bug where MultiScreenBlank toggles only the main monitor after the monitors went to sleep and are activated again. I have two monitors and if after some time windows puts them to sleep mode and I reactivate them, MultiScreenBlank only targets the main monitor when I toggle the visibility or dimming, no matter if I target the main monitor, the second monitor or all monitors. The second monitor is always ignored. Restarting MultiScreenBlank fixes that until the monitors go to sleep again.
The app forgets that only secondary display needs to be faded. Instead, it fades the main one.
Thanks a lot!
I am not sure is this related to my KVM, as I switch back and forth between my PC and laptop (maybe it can't detect signals properly).
More importantly, I've made a shortcut named "Sides" with the command line value "/blank allexcept current", and assigned this to the Middle click action. When I attempt to launch this shortcut, I get a small dialog box pop up that reads "Invalid action specified: sides". I've tried various other commands, omitting the MultiscreenBlank2, with similar results. I've rebooted my computer after installing Multiscreen Blank 2
You have to write the command directly in the middle click action textbox, the shortcuts at the bottom are just extra shortcuts you can access through right clicking the icon.
Also @nookkin thank you very much for the amazing software!, I have one question though, right now there appears to be an idle/inactivity timer that automatically blanks all monitors after just one minute, but I can't find any mention of it nor way to configure it, it would be awesome if it could be integrated into the settings and even better if it could be per monitor.
You were right my bad, it must have turned on while trying other similar software. Yours seems to be the best one with the customizable blanking duration and ease function and also seems to be the most responsive, so thanks!
Hopefully in the future windows allows detecting if a particular monitor is idle, but for now I guess the shortcut to blank non current monitors is the best solution.
The multiscreen blank continues to revert back to the standard default settings everytime windows restarts, the 500ms fade time etc comes back, there is no .ini file in the app data folder and there isnt one in the folder that i use to keep the .exe.
I have no idea why the .ini is not appearing, I also have some questions.
Is there an option to get blank all screen on the context menu, when I leave my PC I want to blank them all in one hit from right click.
I do not understand how the shortcuts work and the cmd options, there doesnt seem to be an example anywhere and when I copy your it just says it unrecognised.
Are you able to give some options to have blank all screen on one right click on content and blank all, is it possible to get the registry key to that context menu option to change it all.
Again I cannot find a way to keep the settings of the program, right click blank all, even make a shortcut to blank all, there is no examples on how to do any of this.
I need to be able to shut my monitors off without having to right click blank one screen then across to the other screen, very convoluted,
Can someone please help with some into on how to do these things
Can someone tell me where I can access the context menu entries from right clicking a blank screen?
I am trying to just have one option only as on the 4k screen the context menu item when I right click the 4k screen when blanked is really small.
I am wanting to reduce the options from 4 to Reveal All Screens when you right click a blanked screen, the 4 options are way too small and one option will be easy just to select it because I know what it will do.
Can you tell me the Reg Entry for the Blank screen context menu please?
Thank you
The only things stored in the registry are system integrations. Multiscreen Blank's settings live in the .ini file.
Are you saying that there is no .ini file being generated? Are you using the full installer or standalone, and if it's standalone, did you delete the .ini file that came in the .zip folder? Make sure you have write access to the file, e.g. if you manually copy it to Program Files it won't work. I would recommend using the full installer (it can install for just the current user without admin rights).
I am only wanting the one context entry as on the 4k screen these options are really small and having the one reveal option the one that is highlighted in the screenshot is all I am after, its too hard to look for the exact entry out of the 4 due to the context menu not scaling properly on my 4k screen.
Again is it possible to have just the one option on the context menu that appears when the screens are blanked ?
This context menu is your specific one that comes up, can it be edited please?
Here is a link to the screenshot
https://i.imgur.com/nqpggLi.jpg
Cheers
Hey thanks for the tool and explanation for hotkeys! AutoHotKey isn't working with the toggle function but I can do blankall + reveal.
@nookkin
Hey thanks for the tool and explanation for hotkeys! AutoHotKey isn't working with the toggle function but I can do blankall + reveal.
Actually I did "/toggle allexcept current" and it's working now!
Is there a way to keep the monitors in "duplicate" mode, but only blank one of them?
Thanks in advance! Cheers
I dont know where to put /blank all
"C:\Program Files\Nookkin\MultiscreenBlank2\MultiscreenBlank2.exe" /blank all
"C:\Program Files\Nookkin\MultiscreenBlank2\MultiscreenBlank2.exe" /toggle group 0
For that I usually just use a shortcut on the desktop to "C:\Windows\System32\scrnsave.scr" with a Shortcut key "Ctrl+Alt+S" usually. Seems to work from anywhere and blanks all screens (because it runs a blank screensaver).
In my Windows Screensaver setting I have it set to (None), so it doesn't come on automatically, but only when I trigger it. Of course you can have it come on automatically by selecting "Blank" and have it come on at a set time.
I use this for immediate blanking with mouse wake up for short periods of time but use MultiScreenBlank2 for individual screens in a multi monitor setup as needed. It would be great if there were more context menu options or even right-click-icon options for dimming a screen, but this is great stuff anyway. Thanks nookkin!
@Rob
For that I usually just use a shortcut on the desktop to "C:\Windows\System32\scrnsave.scr" with a Shortcut key "Ctrl+Alt+S" usually. Seems to work from anywhere and blanks all screens (because it runs a blank screensaver).
In my Windows Screensaver setting I have it set to (None), so it doesn't come on automatically, but only when I trigger it. Of course you can have it come on automatically by selecting "Blank" and have it come on at a set time.
I use this for immediate blanking with mouse wake up for short periods of time but use MultiScreenBlank2 for individual screens in a multi monitor setup as needed. It would be great if there were more context menu options or even right-click-icon options for dimming a screen, but this is great stuff anyway. Thanks nookkin!
I did something like that for conext for both my screens, its a lifesaver now that I wont do without Phreaky
#########################################
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\Background\shell\MultiscreenBlank]
@="<< Blank All Screens >>"
[HKEY_CLASSES_ROOT\Directory\Background\shell\MultiscreenBlank\command]
@="\"C:\\Program Files (x86)\\MultiscreenBlank2\\MultiscreenBlank2.exe\" /minimized /blank all"
[HKEY_CLASSES_ROOT\Directory\Background\shell\MultiscreenBlank 2]
@=">> Blank This Screen <<"
[HKEY_CLASSES_ROOT\Directory\Background\shell\MultiscreenBlank 2\command]
@="\"C:\\Program Files (x86)\\MultiscreenBlank2\\MultiscreenBlank2.exe\" /minimized /blank current"
[HKEY_CLASSES_ROOT\Directory\Background\shell\MultiscreenBlank 3]
@="<> Reveal All Screens <>"
[HKEY_CLASSES_ROOT\Directory\Background\shell\MultiscreenBlank 3\command]
@="\"C:\\Program Files (x86)\\MultiscreenBlank2\\MultiscreenBlank2.exe\" /minimized /reveal all"
########################################
https://drive.google.com/open?id=1X6aj9xjX_4G2oqFOuAT4l7nrZaOmNYpO&authuser=nicholascourtier%40gmail.com&usp=drive_fs
Lyosha Blinnikov
5:24 PM (3 minutes ago)
to me
Thanks for the feedback! This is definitely a bug, caused by a combination of how Windows and .NET handle scaling. In the meantime it should work correctly at 100% scaling but you'll need to log out and back in to apply it (because again Windows will try to "virtualize" the old settings when you change it and just scale the bad one down).
Trying to blank my second monitor in portrait mode (1080*1920) only blanks about half of the monitor while the remainder is still visible.
It is possible to control the Multiscreen Blank software remotely. To be able to turn the screens on and off from another PC, for example, simply and intuitively? Thanks for your help
I'm not the developer, but personally I use UnifiedRemote on my phone with some custom remotes that I've set to trigger some MultiscreenBlank commands.
If you really need to use another computer, you could probably ssh and run the same commands.
(im running version 2.12.0)
Mirror a region of the desktop to a specific monitor
MultiscreenBlank2 /mirror region 0,0,640,480 to id \\.\DISPLAY2
Mirror the second monitor to the default location
MultiscreenBlank2 /mirror id \\.\DISPLAY2
Similar arguments to blanking.
How did you do this?
This is the first time in a long time that I have come across a new tool that is both free and and developed well. It reminds me of the early 2000s when hacker-developers would release tools purely to help themselves and the community they are a part of, an idea that seems to have been lost more and more in time. Thanks for this useful tool sir!
Leave a comment