31

I'd like a shortcut that makes the screen go to a black screen immediately, without turning any power off, or even putting it to sleep.

What ways can I do that?

How more efficient the solution is to set up, the better.

1
  • Alternatively you can create a black background fullscreen app and place a shortcut on the taskbar. Also you can set the desktop background to solid black color, hide all items on the desktop and enable taskbar auto-hiding. Then just press Win+D and voila. Dec 30, 2013 at 13:58

12 Answers 12

24

You can just make a shortcut to the blank screensaver and then set a keyboard shortcut via the properties window for the shortcut.

The screensaver is called scrnsave.scr, located in %SYSTEMROOT%\system32.

4
  • 1
    Nice simple solution.
    – user237209
    Dec 4, 2015 at 4:00
  • 3
    This solution is neat, but broken for cases where another application has hijacked the .scr extension for itself (Eagle does this, annoyingly), and also doesn't work in cases where the screensaver doesn't show by default (it is not required to do so by Microsoft's specification). The solution I found for Windows 10 is to link directly to: cmd /c scrnsave.scr /s
    – Polynomial
    Oct 25, 2017 at 22:27
  • @Polynomial this is perfect. Mapped to a keyboard shortcut using autohotkey. This doesn't lock the screen after resume, nircmd and SendMessage solutions posted below does.
    – tinker
    Nov 10, 2021 at 7:10
16

You can easily do this with NirCmd, these four options will give you a black screen each (with side effect):

  • Turn off the monitor.

    nircmd.exe monitor off
    
  • Start the default screen saver (set it to a blank one, so you can make the screen blank).

    nircmd.exe screensaver
    
  • Put your computer in 'standby' mode.

    nircmd.exe standby
    
  • Turn off your computer.

    nircmd.exe exitwin poweroff
    

Make sure that you have nircmd.exe in C:\Windows\System32 if you want to call it from anywhere.


As Dennis Williamson pointed out in his comment, you can create a hotkey like this:

nircmd.exe cmdshortcutkey "C:\Windows\Temp" "MO" "Ctrl+Shift+M" monitor off

Or a shortcut on your desktop which you can click like this:

nircmd.exe cmdshortcut "~$folder.desktop$" "Turn Monitor off" monitor off

With AutoHotkey, you can bind any of the above commands to a hotkey:

#s::Run nircmd.exe monitor off

The above hotkey WIN+S would for example turn the monitor off.

An alternative program, if you dislike scripting, could be PhaseExpress.

11
  • hmm, can you include how to do this automatically with a keyboard shortcut? if you're familiar with whatever software does it
    – barlop
    Feb 19, 2011 at 16:23
  • 1
    @barlop: From the examples nircmd.exe cmdshortcutkey "c:\temp" "Turn Monitor Off" "Ctrl+Shift+M" monitor off Feb 19, 2011 at 16:49
  • @DennisWilliamson: Oh, didn't see that. Updating answer a second time... Feb 19, 2011 at 16:51
  • @Dennis Williamson That just creates a lnk file for it. doesn't run the lnk file on a shortcut
    – barlop
    Feb 19, 2011 at 17:16
  • 1
    @TomWij you're right. This suggestion put together based on dennis's comment and your line and comment, works too C:\nircmd>nircmd cmdshortcutkey "~$folder.desktop$" "TMO2" "Ctrl+Shift+M" monito r off Then the keyboard shortcut works
    – barlop
    Feb 19, 2011 at 18:07
6

Set your screensaver to the one called "blank". Press Win-L.

Here are some examples of using AutoHotkey to turn off the monitor or start the screen saver without needing NirCmd.

21
  • 1
    I just tried Win-L and it gave a welcome screen. I like that solution but it'd also be nice to have a more generic solution that'd work for computers with keyboards without a windows key.
    – barlop
    Feb 19, 2011 at 16:08
  • 1
    @barlop: Just make you AHK macro be a key combination that isn't triggered by something involving the Win key -- represented by # at the beginning. The macro can still output one, for example ^o::SendInput #l makes CTRL-o do what Win-L does.
    – martineau
    Feb 19, 2011 at 19:13
  • 1
    @barlop: In the AHK page I linked to in my answer: SendMessage, 0x112, 0xF140, 0,, Program Manager - I just tried it with "blank" as my screen saver and it works. Feb 19, 2011 at 23:03
  • 1
    @Dennis Williamson: Ah, ha! I just caught the difference. I'm using 0xF170 which is SC_MONITORPOWER, not the one before that you referred to which uses 0xF140 for SC_SCREENSAVE as the second SendMessage argument.
    – martineau
    Feb 20, 2011 at 2:07
  • 1
    For anyone interested this Microsoft page lists the various WM_SYSCOMMAND messages and their hex values.
    – martineau
    Feb 20, 2011 at 2:20
1

I used NirCmd to create a task in Win7 task scheduler, that turns the monitor off when I lock the computer (Ctrl+L)

In the Actions, paste: nircmd.exe and in Arguments put monitor off.

Then use the drop-down in Triggers to choose "Workstation is locked". Works like a charm.

1

There is a built-in function on my laptop. Just hit the Fn+F6. This toggles the black screen on my laptop, anyway: no extra command programming required.

8
  • 1
    That only works on a limited number of laptops. But OP didn't specify what device he wants this on, so I guess your answer is ok. Dec 30, 2013 at 9:23
  • @user1306322 given that there are at least hundreds of popular laptops out there, and the probability of it that function making a scree blank is very low.. the specific is not that useful. But the general idea that maybe the laptop has a functio to blank the screen is ok.Perhaps if the answerer showed a screenshot of the picture that blanks the screen, that'd be good.My Fn+F6 key is volume.But if he shows a screenshot then wherever it is if I have that pic I could look. And user, even if I don't have it, somebody else with the same question might(this site isn't for just the 1 questioner)
    – barlop
    Dec 30, 2013 at 11:06
  • @barlop well then, the next person to ask should specify their PC type and model, which you, by the way, forgot to do. Otherwise, please, add that you're looking for solutions that could suit multiple PC types. Dec 30, 2013 at 12:13
  • @user1306322 this site rejects questions that are too "localized". (and in this case i'd agree with that rule). Questions have to be useful to people. It's not so useful to many people if a question just answers for one particular model of laptop. Or even if people answer regarding 10 models. The chances of any reader having one of those 10 models is slim. They can also (sometimes stupidly I think), reject questions for being too general. I wouldn't make it so explicitly general as to provoke a dumb closure. But sure a Windows solution is general enough to suit different laptop models...
    – barlop
    Dec 30, 2013 at 13:19
  • and yeah if he includes a picture that works. It's just about giving sensible answers. I can't make a question completely idiot proof from everybody. But the question as it stands is concise and clear and anybody that understands the absolutely sane sensible good rule that the site has, would not answer about specific models and would not encourage answering re specific models. those answers would be downvoted for not being useful. Remember, questions and answers should be useful to not just the person asking. This site is first and foremost a database of QnA.
    – barlop
    Dec 30, 2013 at 13:23
1

Another option using AutoHotkey:

SendMessage 0x112, 0xF170, 2,,Program Manager

You need to install AutoHotkey (1.1.x, not sure if it works in 2.x), create a text file with .ahk extension (e.g. turn_off_screen.ahk), paste this line there using any text editor, and you can run it by double click.

0

Fn+F2 does it quickly and simply for me (while NOT running PowerPoint or any other program, or hooked up to any other screen or device). Repeat the step to unblank.

1
  • This is device-dependent and no general solution.
    – Jens Erat
    Jun 22, 2014 at 12:11
0

If you want to blank just one display, without disabling or "sleeping" it you can use this VB6 program that simply loads a black background HTML file in full screen without any boarders:

http://jpelectron.com/download/viewit-rev3.zip

Copy all the files to: C:\Program Files (x86)\viewIT\ then run or make a shortcut to viewit.exe

There is also the option to make the entire screen white (like a flashlight app)

I created this because I needed a way to blank my tablet's screen (primary display) while I had a YouTube or other video playing full-screen elsewhere (secondary display)

If you don't like that this loads on the primary display only, I would suggest you open fillblack.htm in a browser, put that browser on the display you want, then press F11 to enable full-screen/kiosk mode - that will do it too.

0

Another useful tool for this purpose is Multiscreen Blank. You will still need to set up a system-wide shortcut with an additional tool, but the screen blanking settings are nicely adjustable.

0

The accepted answer by Candreasen on May 31 '13 at 3:56 was spot on.

Some additional information based on my implementation in Windows 7:
Create a shortcut with the following target:
C:\Windows\System32\scrnsave.scr
This blanks both screens when another display is connected to the HDMI port on my laptop.
This invokes the 'blank' screensaver.
I think any .scr screensaver file in the Windows folders can be started this way.
Unlike the automatic starting of a screensaver after inactivity on this machine, this invocation of the screensaver does not request a password when it restarts. According to this, it seems to be normal for a screensaver invoked in this way not to be locked:
https://msdn.microsoft.com/en-us/library/ms686421(v=vs.85).aspx#ss_keys
"Before a screensaver appears, Windows creates a new virtual desktop for it. The screensaver process is created on this second desktop, which is never locked."

-1

to Avoid the sleeping mode save this script as a .vbs format and double click just once. Approximate 1 hour you screen will not go in sleeping mode. how its work: its keeps refreshing your PC for 1 hour . safe and secure . :D

set sh=createobject("wscript.shell")
for i=1 to 25
WScript.sleep 120000
sh.sendkeys"{F15}"
next
set sh=nothing

Step 1:
copy it and put this in your note pad
step 2:
while saving save it with .VBS ext. EX:   ABCDEF.vbs
Step 3:
after that just double click on it once. 
1
  • 1
    The question isn't about preventing the pc from going to sleep, but finding a way making the screen blank without sleeping the pc, those aren't the same! Oct 19, 2015 at 16:40
-1

There is a regular standalone portable Don'tSleep utility from softwareok.com which allows to define which applications would be barred from forcing your PC or screen from sleeping.

I just need a blank screen so I can output a messsage, which would otherwise appears on regular desktop and not be quite legible, prompting the user to do something. I think "viewit" solution should work for me.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .