Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Is there a command to power down the display in Windows XP? That is, a command that causes the video card to stop sending a signal to the monitor until input is received, much as power management does after a time.

share|improve this question

4 Answers 4

up vote 15 down vote accepted

Not as far as I know but you can use utilities like Monitor Off to power down the monitor.

share|improve this answer
    
Excellent. This worked spectacularly. –  Ignacio Vazquez-Abrams Apr 5 '10 at 17:02
6  
The technique behind this is explained at codeproject here: codeproject.com/KB/system/display_states.aspx –  Jeroen Wiert Pluimers Apr 13 '10 at 17:21

There is also a utility called NirCmd, which supports not only this but more commands (like changing system volume, manipulating services etc - documented in the page linked). Usage is via the command line:

nircmd monitor off

And sometimes I've seen Windows "listening" to your last keystroke (the Return that confirms the command) after the command is "issued" and waking back up. A solution that has worked for me in most cases is:

nircmd cmdwait 1000 monitor off

Disclaimer: although this may be the third or fourth time I mention it here, I have no association to the NirCmd's team: just a happy user.

share|improve this answer
    
Unfortunately it doesn't look like nircmd can be used to turn off a single monitor (in a multi monitor setup) –  Sridhar Ratnakumar May 4 '14 at 2:17

Turn off display by shortcut

Why this script is good?

Display will go off again in 3 sec.
(if mouse by accident was moved, etc...)

How it works:

  1. Set idle timeout to 3 seconds
  2. Wait for any key press
  3. Set idle timeout to 1 hour

How-to:

  1. Create empty setup.cmd
  2. Paste code
  3. Run. Link "Display Sleep.lnk" will be created.
@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION

REM ==========================
REM ===== SET SECONDS ========
REM ==========================
SET NORMAL_SEC=3600
SET SLEEP_SEC=3
REM ==========================

IF "%1"=="" (
    GOTO:crealink
)

REM Get current scheme token
FOR /F "tokens=4 delims= " %%A IN ('POWERCFG /GETACTIVESCHEME') DO (
    SET SCHEMETOKEN=%%A
)
CALL :Set_Display_Timeout %SLEEP_SEC%
pause
CALL :Set_Display_Timeout %NORMAL_SEC%

REM TIMEOUT /NOBREAK /T 3
GOTO:eof

:Set_Display_Timeout
    powercfg /SETDCVALUEINDEX %SCHEMETOKEN% SUB_VIDEO VIDEOIDLE %1
    powercfg /SETACVALUEINDEX %SCHEMETOKEN% SUB_VIDEO VIDEOIDLE %1
    powercfg /S %SCHEMETOKEN%
    ECHO Timeout is set to: %1 sec.
EXIT /B

:crealink
SET LinkName=Display Sleep!
SET Esc_LinkDest=!LinkName!.lnk
SET Esc_LinkTarget=cmd.exe
SET cSctVBS=CreateShortcut.vbs
SET LOG=".\%~N0_runtime.log"
((
  echo Set oWS = WScript.CreateObject^("WScript.Shell"^) 
  echo sLinkFile = oWS.ExpandEnvironmentStrings^("!Esc_LinkDest!"^)
  echo Set oLink = oWS.CreateShortcut^(sLinkFile^) 
  echo oLink.TargetPath = oWS.ExpandEnvironmentStrings^("!Esc_LinkTarget!"^)
  echo oLink.Arguments = "/C ""%~f0"" yap"
  ECHO oLink.IconLocation = "%SystemRoot%\System32\shell32.dll, 34"
  echo oLink.Save
)1>!cSctVBS!
cscript //nologo .\!cSctVBS!
DEL !cSctVBS! /f /q
)1>>!LOG! 2>>&1
ECHO .
ECHO .
ECHO .        Shortcut "!LinkName!" created!  ####
ECHO .
ECHO .
pause
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.