Last active
December 29, 2020 12:48
-
-
Save Befzz/0a4687cf2daf4c323899 to your computer and use it in GitHub Desktop.
Turn off display shortcut. Windows cmd.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
:::::::::::::::::::::::::::::::::::::: | |
:: Setup :: | |
:: 1. [Download ZIP] :: | |
:: 2. Unpack :: | |
:: 3. Run setup_display_timeout.cmd :: | |
:: 4. Use "Display Sleep!" link. :: | |
:::::::::::::::::::::::::::::::::::::: | |
:::::::::::::::::::::::::::::::::::::: | |
:: What script do :: | |
:: Set video(display) idle timeout :: | |
:: to SLEEP_SEC at current :: | |
:: power-scheme. :: | |
:::::::::::::::::::::::::::::::::::::: | |
@ECHO OFF | |
:: ========================== | |
:: ====== OPTIONS ========== | |
:: === Set seconds & Icon === | |
:: ========================== | |
SET NORMAL_SEC=3600 | |
SET SLEEP_SEC=3 | |
SET SHELL32_ICON_INDEX=34 | |
:: ========================== | |
SETLOCAL EnableDelayedExpansion | |
:Main | |
:: Create link, if no arguments taken. Else, set display sleep timeout. | |
IF "%1"=="" ( | |
CALL :Create_Link | |
EXIT | |
) | |
:: Get current power-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% | |
EXIT | |
: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 | |
:Create_Link | |
:: ^^ - to escape "!" mark | |
SET LinkName=Display Sleep^^! | |
SET Esc_LinkDest=!LinkName!.lnk | |
SET Esc_LinkTarget=cmd.exe | |
SET VBS_file=CreateShortcut.vbs | |
SET LOG=".\%~N0_runtime.log" | |
:: Create script (ECHO to file) | |
(( | |
ECHO Set oWShell = WScript.CreateObject^("WScript.Shell"^) | |
ECHO sLinkFile = oWShell.ExpandEnvironmentStrings^("!Esc_LinkDest!"^) | |
ECHO Set oLink = oWShell.CreateShortcut^(sLinkFile^) | |
ECHO oLink.TargetPath = oWShell.ExpandEnvironmentStrings^("!Esc_LinkTarget!"^) | |
ECHO oLink.Arguments = "/C ""%~f0"" yap" | |
ECHO oLink.IconLocation = "%SystemRoot%\System32\shell32.dll, %SHELL32_ICON_INDEX%" | |
ECHO oLink.Save | |
)1>!VBS_file! | |
:: Run & delete script quietly | |
CSCRIPT //nologo .\!VBS_file! | |
DEL !VBS_file! /f /q | |
)1>>!LOG! 2>>&1 | |
ECHO . | |
ECHO . Shortcut "!LinkName!" created! | |
ECHO . | |
PAUSE | |
EXIT /B | |
GOTO:Main |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Awesome