Skip to content

Instantly share code, notes, and snippets.

@Befzz
Last active December 29, 2020 12:48
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Befzz/0a4687cf2daf4c323899 to your computer and use it in GitHub Desktop.
Save Befzz/0a4687cf2daf4c323899 to your computer and use it in GitHub Desktop.
Turn off display shortcut. Windows cmd.
::::::::::::::::::::::::::::::::::::::
:: 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
@thewh1teagle
Copy link

Awesome

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment