mirror of
https://github.com/jazir555/GamesDows.git
synced 2025-12-14 19:18:55 +01:00
Compare commits
82 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c04b0415e4 | ||
|
|
a18363b2e3 | ||
|
|
8c8d65ae35 | ||
|
|
bc0453cd70 | ||
|
|
40626036cd | ||
|
|
489f61b54c | ||
|
|
0006eefd9f | ||
|
|
7426d4a5e9 | ||
|
|
3b6b073b89 | ||
|
|
e69d1db9b1 | ||
|
|
a8cee33437 | ||
|
|
bf08fb5546 | ||
|
|
5fe58bc56a | ||
|
|
3689b68215 | ||
|
|
87c64e1313 | ||
|
|
0dfeccd96d | ||
|
|
88d9e2972a | ||
|
|
cb9218a3d0 | ||
|
|
24a9f0e798 | ||
|
|
f98ba713bd | ||
|
|
89f4b71825 | ||
|
|
785a97b697 | ||
|
|
9f62c88fc1 | ||
|
|
56c5b6a91e | ||
|
|
fafd7a2010 | ||
|
|
1ca95e4131 | ||
|
|
d3ee9e4289 | ||
|
|
dd07d9550c | ||
|
|
5be5761019 | ||
|
|
12e28325c8 | ||
|
|
3220a3b457 | ||
|
|
3f5e0a43fd | ||
|
|
009602191a | ||
|
|
ba9c7779e2 | ||
|
|
d7d936c495 | ||
|
|
ea2d0cb5f1 | ||
|
|
61266d6ffb | ||
|
|
38892bc2e5 | ||
|
|
1616abfa47 | ||
|
|
858653e153 | ||
|
|
6dd340bbdb | ||
|
|
a1295739f5 | ||
|
|
c832862a12 | ||
|
|
c1a191041e | ||
|
|
449ce6206e | ||
|
|
83edbd480d | ||
|
|
8ac1b1f33a | ||
|
|
bd73881d7a | ||
|
|
5c73816ead | ||
|
|
a401cebb39 | ||
|
|
4bd7664265 | ||
|
|
86e9a0171f | ||
|
|
3b322f4ab3 | ||
|
|
aa8a0d9f7d | ||
|
|
e567ed85b5 | ||
|
|
4129b605b7 | ||
|
|
1a6122f684 | ||
|
|
f6ab856467 | ||
|
|
8c0a43dbac | ||
|
|
e22ef998ef | ||
|
|
c7a2576da4 | ||
|
|
7f6e185a02 | ||
|
|
5866c13782 | ||
|
|
8bd670dfc7 | ||
|
|
06c1cb02d6 | ||
|
|
d49ff27ad4 | ||
|
|
7e842382cf | ||
|
|
ac3ff0bb1b | ||
|
|
a5af0188b1 | ||
|
|
e6b15506fd | ||
|
|
6e5d28bf6b | ||
|
|
c1125b3376 | ||
|
|
8ca56ed459 | ||
|
|
a5c0d26e6f | ||
|
|
d883fd4115 | ||
|
|
5f1428c7e3 | ||
|
|
51d6fab016 | ||
|
|
345f25cbad | ||
|
|
38358751d5 | ||
|
|
e0f9bf46d6 | ||
|
|
befd6aa4f2 | ||
|
|
bc141c3e1a |
@@ -1,89 +0,0 @@
|
|||||||
@echo off
|
|
||||||
SETLOCAL EnableExtensions EnableDelayedExpansion
|
|
||||||
|
|
||||||
:: Define paths and names
|
|
||||||
SET "STEAM_FOLDER=C:\Program Files (x86)\Steam"
|
|
||||||
SET "SCRIPT_NAME=DelayedExplorerStart.bat"
|
|
||||||
SET "SCRIPT_PATH=%STEAM_FOLDER%\%SCRIPT_NAME%"
|
|
||||||
SET "VBS_NAME=RunBatchSilently.vbs"
|
|
||||||
SET "VBS_PATH=%STEAM_FOLDER%\%VBS_NAME%"
|
|
||||||
SET "XML_NAME=DelayedExplorerStartTask.xml"
|
|
||||||
SET "XML_PATH=%STEAM_FOLDER%\%XML_NAME%"
|
|
||||||
|
|
||||||
echo ================================
|
|
||||||
echo Disabling GamesDows
|
|
||||||
echo ================================
|
|
||||||
|
|
||||||
:: Reset the default shell to Explorer
|
|
||||||
echo [1/5] Resetting default shell to Explorer...
|
|
||||||
REG ADD "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v Shell /t REG_SZ /d "C:\Windows\explorer.exe" /f
|
|
||||||
if ERRORLEVEL 1 (
|
|
||||||
echo [ERROR] Failed to reset the default shell.
|
|
||||||
goto end
|
|
||||||
) else (
|
|
||||||
echo [SUCCESS] Default shell reset to Explorer.
|
|
||||||
)
|
|
||||||
|
|
||||||
:: Terminate Steam processes to ensure changes take effect
|
|
||||||
echo [2/5] Terminating Steam processes...
|
|
||||||
taskkill /IM "Steam.exe" /F >nul 2>&1
|
|
||||||
taskkill /IM "SteamService.exe" /F >nul 2>&1
|
|
||||||
echo [INFO] Steam processes terminated.
|
|
||||||
|
|
||||||
:: Delete the DelayedExplorerStart.bat script
|
|
||||||
echo [3/5] Deleting DelayedExplorerStart.bat...
|
|
||||||
IF EXIST "%SCRIPT_PATH%" (
|
|
||||||
DEL /F /Q "%SCRIPT_PATH%"
|
|
||||||
if ERRORLEVEL 1 (
|
|
||||||
echo [WARNING] Could not delete %SCRIPT_NAME%.
|
|
||||||
) else (
|
|
||||||
echo [SUCCESS] %SCRIPT_NAME% deleted.
|
|
||||||
)
|
|
||||||
) else (
|
|
||||||
echo [INFO] %SCRIPT_NAME% does not exist.
|
|
||||||
)
|
|
||||||
|
|
||||||
:: Delete the RunBatchSilently.vbs script
|
|
||||||
echo [4/5] Deleting RunBatchSilently.vbs...
|
|
||||||
IF EXIST "%VBS_PATH%" (
|
|
||||||
DEL /F /Q "%VBS_PATH%"
|
|
||||||
if ERRORLEVEL 1 (
|
|
||||||
echo [WARNING] Could not delete %VBS_NAME%.
|
|
||||||
) else (
|
|
||||||
echo [SUCCESS] %VBS_NAME% deleted.
|
|
||||||
)
|
|
||||||
) else (
|
|
||||||
echo [INFO] %VBS_NAME% does not exist.
|
|
||||||
)
|
|
||||||
|
|
||||||
:: Delete the DelayedExplorerStartTask.xml file
|
|
||||||
echo [5/5] Deleting DelayedExplorerStartTask.xml...
|
|
||||||
IF EXIST "%XML_PATH%" (
|
|
||||||
DEL /F /Q "%XML_PATH%"
|
|
||||||
if ERRORLEVEL 1 (
|
|
||||||
echo [WARNING] Could not delete %XML_NAME%.
|
|
||||||
) else (
|
|
||||||
echo [SUCCESS] %XML_NAME% deleted.
|
|
||||||
)
|
|
||||||
) else (
|
|
||||||
echo [INFO] %XML_NAME% does not exist.
|
|
||||||
)
|
|
||||||
|
|
||||||
:: Delete the scheduled task
|
|
||||||
echo [6/6] Deleting scheduled task 'RunDelayedExplorerStart'...
|
|
||||||
schtasks /delete /tn "RunDelayedExplorerStart" /f >nul 2>&1
|
|
||||||
if ERRORLEVEL 1 (
|
|
||||||
echo [WARNING] Could not delete the scheduled task 'RunDelayedExplorerStart'.
|
|
||||||
) else (
|
|
||||||
echo [SUCCESS] Scheduled task 'RunDelayedExplorerStart' deleted.
|
|
||||||
)
|
|
||||||
|
|
||||||
echo.
|
|
||||||
echo ================================
|
|
||||||
echo GamesDows has been disabled successfully.
|
|
||||||
echo A system restart is recommended for all changes to take effect.
|
|
||||||
echo ================================
|
|
||||||
|
|
||||||
:end
|
|
||||||
ENDLOCAL
|
|
||||||
pause
|
|
||||||
134
Disable Gamesdows V3.bat
Normal file
134
Disable Gamesdows V3.bat
Normal file
@@ -0,0 +1,134 @@
|
|||||||
|
@echo off
|
||||||
|
SETLOCAL EnableExtensions EnableDelayedExpansion
|
||||||
|
|
||||||
|
:: Paths for Steam
|
||||||
|
SET "STEAM_FOLDER=C:\Program Files (x86)\Steam"
|
||||||
|
SET "STEAM_SCRIPT_NAME=DelayedExplorerStart.bat"
|
||||||
|
SET "STEAM_SCRIPT_PATH=%STEAM_FOLDER%\%STEAM_SCRIPT_NAME%"
|
||||||
|
SET "STEAM_VBS_NAME=RunBatchSilently.vbs"
|
||||||
|
SET "STEAM_VBS_PATH=%STEAM_FOLDER%\%STEAM_VBS_NAME%"
|
||||||
|
SET "STEAM_XML_NAME=DelayedExplorerStartTask.xml"
|
||||||
|
SET "STEAM_XML_PATH=%STEAM_FOLDER%\%STEAM_XML_NAME%"
|
||||||
|
|
||||||
|
:: Paths for Playnite
|
||||||
|
SET "PLAYNITE_FOLDER=%LOCALAPPDATA%\Playnite"
|
||||||
|
SET "PLAYNITE_SCRIPT_NAME=DelayedExplorerStart.bat"
|
||||||
|
SET "PLAYNITE_SCRIPT_PATH=%PLAYNITE_FOLDER%\%PLAYNITE_SCRIPT_NAME%"
|
||||||
|
SET "PLAYNITE_VBS_NAME=RunBatchSilently.vbs"
|
||||||
|
SET "PLAYNITE_VBS_PATH=%PLAYNITE_FOLDER%\%PLAYNITE_VBS_NAME%"
|
||||||
|
SET "PLAYNITE_XML_NAME=DelayedExplorerStartTask.xml"
|
||||||
|
SET "PLAYNITE_XML_PATH=%PLAYNITE_FOLDER%\%PLAYNITE_XML_NAME%"
|
||||||
|
|
||||||
|
echo ================================
|
||||||
|
echo DISABLING GAMESDOWS / REMOVING CUSTOM SHELL
|
||||||
|
echo ================================
|
||||||
|
|
||||||
|
:: 1) Reset the default shell to Explorer
|
||||||
|
echo [1/5] Resetting default shell to Explorer...
|
||||||
|
REG ADD "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" ^
|
||||||
|
/v "Shell" /t REG_SZ /d "C:\Windows\explorer.exe" /f
|
||||||
|
if ERRORLEVEL 1 (
|
||||||
|
echo [ERROR] Failed to reset the default shell.
|
||||||
|
goto end
|
||||||
|
) else (
|
||||||
|
echo [SUCCESS] Default shell reset to Explorer.
|
||||||
|
)
|
||||||
|
|
||||||
|
:: 2) Delete any existing DelayedExplorerStart.bat in Steam folder
|
||||||
|
echo [2/5] Deleting DelayedExplorerStart.bat from Steam folder...
|
||||||
|
IF EXIST "%STEAM_SCRIPT_PATH%" (
|
||||||
|
DEL /F /Q "%STEAM_SCRIPT_PATH%"
|
||||||
|
if ERRORLEVEL 1 (
|
||||||
|
echo [WARNING] Could not delete %STEAM_SCRIPT_NAME%.
|
||||||
|
) else (
|
||||||
|
echo [SUCCESS] %STEAM_SCRIPT_NAME% deleted.
|
||||||
|
)
|
||||||
|
) else (
|
||||||
|
echo [INFO] %STEAM_SCRIPT_NAME% does not exist in Steam folder.
|
||||||
|
)
|
||||||
|
|
||||||
|
:: 2b) Delete any existing DelayedExplorerStart.bat in Playnite folder
|
||||||
|
echo [2b/5] Deleting DelayedExplorerStart.bat from Playnite folder...
|
||||||
|
IF EXIST "%PLAYNITE_SCRIPT_PATH%" (
|
||||||
|
DEL /F /Q "%PLAYNITE_SCRIPT_PATH%"
|
||||||
|
if ERRORLEVEL 1 (
|
||||||
|
echo [WARNING] Could not delete %PLAYNITE_SCRIPT_NAME%.
|
||||||
|
) else (
|
||||||
|
echo [SUCCESS] %PLAYNITE_SCRIPT_NAME% deleted.
|
||||||
|
)
|
||||||
|
) else (
|
||||||
|
echo [INFO] %PLAYNITE_SCRIPT_NAME% does not exist in Playnite folder.
|
||||||
|
)
|
||||||
|
|
||||||
|
:: 3) Delete any existing RunBatchSilently.vbs in Steam folder
|
||||||
|
echo [3/5] Deleting RunBatchSilently.vbs from Steam folder...
|
||||||
|
IF EXIST "%STEAM_VBS_PATH%" (
|
||||||
|
DEL /F /Q "%STEAM_VBS_PATH%"
|
||||||
|
if ERRORLEVEL 1 (
|
||||||
|
echo [WARNING] Could not delete %STEAM_VBS_NAME%.
|
||||||
|
) else (
|
||||||
|
echo [SUCCESS] %STEAM_VBS_NAME% deleted.
|
||||||
|
)
|
||||||
|
) else (
|
||||||
|
echo [INFO] %STEAM_VBS_NAME% does not exist in Steam folder.
|
||||||
|
)
|
||||||
|
|
||||||
|
:: 3b) Delete any existing RunBatchSilently.vbs in Playnite folder
|
||||||
|
echo [3b/5] Deleting RunBatchSilently.vbs from Playnite folder...
|
||||||
|
IF EXIST "%PLAYNITE_VBS_PATH%" (
|
||||||
|
DEL /F /Q "%PLAYNITE_VBS_PATH%"
|
||||||
|
if ERRORLEVEL 1 (
|
||||||
|
echo [WARNING] Could not delete %PLAYNITE_VBS_NAME%.
|
||||||
|
) else (
|
||||||
|
echo [SUCCESS] %PLAYNITE_VBS_NAME% deleted.
|
||||||
|
)
|
||||||
|
) else (
|
||||||
|
echo [INFO] %PLAYNITE_VBS_NAME% does not exist in Playnite folder.
|
||||||
|
)
|
||||||
|
|
||||||
|
:: 4) Delete any existing DelayedExplorerStartTask.xml in Steam folder
|
||||||
|
echo [4/5] Deleting DelayedExplorerStartTask.xml from Steam folder...
|
||||||
|
IF EXIST "%STEAM_XML_PATH%" (
|
||||||
|
DEL /F /Q "%STEAM_XML_PATH%"
|
||||||
|
if ERRORLEVEL 1 (
|
||||||
|
echo [WARNING] Could not delete %STEAM_XML_NAME%.
|
||||||
|
) else (
|
||||||
|
echo [SUCCESS] %STEAM_XML_NAME% deleted.
|
||||||
|
)
|
||||||
|
) else (
|
||||||
|
echo [INFO] %STEAM_XML_NAME% does not exist in Steam folder.
|
||||||
|
)
|
||||||
|
|
||||||
|
:: 4b) Delete any existing DelayedExplorerStartTask.xml in Playnite folder
|
||||||
|
echo [4b/5] Deleting DelayedExplorerStartTask.xml from Playnite folder...
|
||||||
|
IF EXIST "%PLAYNITE_XML_PATH%" (
|
||||||
|
DEL /F /Q "%PLAYNITE_XML_PATH%"
|
||||||
|
if ERRORLEVEL 1 (
|
||||||
|
echo [WARNING] Could not delete %PLAYNITE_XML_NAME%.
|
||||||
|
) else (
|
||||||
|
echo [SUCCESS] %PLAYNITE_XML_NAME% deleted.
|
||||||
|
)
|
||||||
|
) else (
|
||||||
|
echo [INFO] %PLAYNITE_XML_NAME% does not exist in Playnite folder.
|
||||||
|
)
|
||||||
|
|
||||||
|
:: 5) Delete the scheduled task (if it exists)
|
||||||
|
echo [5/5] Deleting scheduled task 'RunDelayedExplorerStart'...
|
||||||
|
schtasks /delete /tn "RunDelayedExplorerStart" /f >nul 2>&1
|
||||||
|
if ERRORLEVEL 1 (
|
||||||
|
echo [WARNING] Could not delete the scheduled task 'RunDelayedExplorerStart'.
|
||||||
|
) else (
|
||||||
|
echo [SUCCESS] Scheduled task 'RunDelayedExplorerStart' deleted.
|
||||||
|
)
|
||||||
|
|
||||||
|
echo.
|
||||||
|
echo ================================
|
||||||
|
echo GamesDows has been disabled successfully.
|
||||||
|
echo All Playnite/Steam scripts removed.
|
||||||
|
echo The default shell is now Explorer.
|
||||||
|
echo A system restart is recommended.
|
||||||
|
echo ================================
|
||||||
|
|
||||||
|
:end
|
||||||
|
ENDLOCAL
|
||||||
|
pause
|
||||||
@@ -1,120 +1,112 @@
|
|||||||
@echo off
|
@echo off
|
||||||
SETLOCAL EnableExtensions
|
:: Self-elevating Admin script
|
||||||
|
:: This script will automatically request admin rights if not running as admin
|
||||||
|
|
||||||
echo Setting Playnite as default shell
|
:: Check for admin rights and self-elevate if needed
|
||||||
|
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
|
||||||
|
if '%errorlevel%' NEQ '0' (
|
||||||
|
echo Requesting administrative privileges...
|
||||||
|
goto UACPrompt
|
||||||
|
) else (
|
||||||
|
goto GotAdmin
|
||||||
|
)
|
||||||
|
|
||||||
echo Set Playnite as the default shell
|
:UACPrompt
|
||||||
SET "KEY_NAME=HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"
|
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
|
||||||
SET "VALUE_NAME=Shell"
|
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
|
||||||
SET "PLAYNITE_PATH=%LOCALAPPDATA%\Playnite\Playnite.FullscreenApp.exe
|
"%temp%\getadmin.vbs"
|
||||||
REG ADD "%KEY_NAME%" /v %VALUE_NAME% /t REG_SZ /d "%PLAYNITE_PATH%" /f
|
exit /B
|
||||||
|
|
||||||
|
:GotAdmin
|
||||||
|
if exist "%temp%\getadmin.vbs" del "%temp%\getadmin.vbs"
|
||||||
|
pushd "%CD%"
|
||||||
|
CD /D "%~dp0"
|
||||||
|
|
||||||
@echo off
|
|
||||||
SETLOCAL EnableExtensions EnableDelayedExpansion
|
SETLOCAL EnableExtensions EnableDelayedExpansion
|
||||||
|
|
||||||
echo Define the default Playnite folder path and script names
|
echo ---------------------------------------------------
|
||||||
|
echo Setting Playnite as default shell
|
||||||
|
echo ---------------------------------------------------
|
||||||
|
|
||||||
|
:: 1. Define Paths
|
||||||
|
SET "KEY_NAME=HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"
|
||||||
|
SET "VALUE_NAME=Shell"
|
||||||
SET "PLAYNITE_FOLDER=%LOCALAPPDATA%\Playnite"
|
SET "PLAYNITE_FOLDER=%LOCALAPPDATA%\Playnite"
|
||||||
|
SET "PLAYNITE_PATH=%PLAYNITE_FOLDER%\Playnite.FullscreenApp.exe"
|
||||||
|
SET "EXPLORER_PATH=C:\Windows\explorer.exe"
|
||||||
SET "SCRIPT_NAME=DelayedExplorerStart.bat"
|
SET "SCRIPT_NAME=DelayedExplorerStart.bat"
|
||||||
SET "SCRIPT_PATH=%PLAYNITE_FOLDER%\%SCRIPT_NAME%"
|
SET "SCRIPT_PATH=%PLAYNITE_FOLDER%\%SCRIPT_NAME%"
|
||||||
SET "EXPLORER_PATH=C:\Windows\explorer.exe"
|
SET "VBS_NAME=RunBatchSilently.vbs"
|
||||||
|
SET "VBS_PATH=%PLAYNITE_FOLDER%\%VBS_NAME%"
|
||||||
|
|
||||||
echo Creating DelayedExplorerStart.bat script
|
:: 2. Verify Playnite Exists
|
||||||
|
IF NOT EXIST "%PLAYNITE_PATH%" (
|
||||||
|
echo.
|
||||||
|
echo ERROR: Could not find Playnite at:
|
||||||
|
echo "%PLAYNITE_PATH%"
|
||||||
|
echo.
|
||||||
|
echo If you are running this as a different Admin user, %%LOCALAPPDATA%% may be wrong.
|
||||||
|
echo Please edit the script and hardcode the path if necessary.
|
||||||
|
pause
|
||||||
|
exit /b
|
||||||
|
)
|
||||||
|
|
||||||
echo Create the DelayedExplorerStart.bat script in the Playnite folder
|
echo Setting Registry Shell key...
|
||||||
|
REG ADD "%KEY_NAME%" /v %VALUE_NAME% /t REG_SZ /d "%PLAYNITE_PATH%" /f
|
||||||
|
|
||||||
|
:: 3. Create the DelayedExplorerStart.bat
|
||||||
|
echo Creating DelayedExplorerStart.bat script...
|
||||||
(
|
(
|
||||||
echo @echo off
|
echo @echo off
|
||||||
echo rem Check if user is logged on
|
echo :: Wait for Playnite to initialize first
|
||||||
echo whoami ^| find /i "%USERNAME%" ^>nul
|
|
||||||
echo if ERRORLEVEL 1 exit
|
|
||||||
echo rem Set Shell back to Explorer
|
|
||||||
echo REG ADD "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v Shell /t REG_SZ /d "%EXPLORER_PATH%" /f
|
|
||||||
echo timeout /t 20 /nobreak ^>nul
|
echo timeout /t 20 /nobreak ^>nul
|
||||||
echo start C:\Windows\explorer.exe
|
echo.
|
||||||
|
echo :: Set Shell to Explorer BEFORE launching it (critical for Taskbar)
|
||||||
|
echo REG ADD "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v Shell /t REG_SZ /d "%EXPLORER_PATH%" /f
|
||||||
|
echo.
|
||||||
|
echo :: Launch Windows Explorer
|
||||||
|
echo echo Starting Windows Explorer...
|
||||||
|
echo start "" "%EXPLORER_PATH%"
|
||||||
|
echo.
|
||||||
|
echo :: Give Explorer time to initialize fully, then restore Playnite shell
|
||||||
echo timeout /t 10 /nobreak ^>nul
|
echo timeout /t 10 /nobreak ^>nul
|
||||||
echo REG ADD "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v Shell /t REG_SZ /d "%PLAYNITE_PATH%" /f
|
echo REG ADD "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v Shell /t REG_SZ /d "%PLAYNITE_PATH%" /f
|
||||||
) > "%SCRIPT_PATH%"
|
) > "%SCRIPT_PATH%"
|
||||||
|
|
||||||
|
:: 4. Create the VBS Runner
|
||||||
echo %VBS_PATH%
|
echo Creating RunBatchSilently.vbs script...
|
||||||
|
|
||||||
echo Creating RunBatchSilently.vbs script
|
|
||||||
|
|
||||||
:: Create VBScript to run the batch file silently
|
|
||||||
@echo off
|
|
||||||
SET "VBS_NAME=RunBatchSilently.vbs"
|
|
||||||
SET "VBS_PATH=%PLAYNITE_FOLDER%\%VBS_NAME%"
|
|
||||||
echo Set WshShell = CreateObject("WScript.Shell") > "%VBS_PATH%"
|
|
||||||
echo WshShell.Run chr(34)^&"%SCRIPT_PATH%"^&chr(34), 0, True >> "%VBS_PATH%"
|
|
||||||
echo Set WshShell = Nothing >> "%VBS_PATH%"
|
|
||||||
|
|
||||||
echo Create XML file for the scheduled task
|
|
||||||
SET XML_PATH=%PLAYNITE_FOLDER%\DelayedExplorerStartTask.xml
|
|
||||||
|
|
||||||
echo Delete the existing XML file if it exists
|
|
||||||
IF EXIST "%XML_PATH%" DEL "%XML_PATH%"
|
|
||||||
|
|
||||||
(
|
(
|
||||||
echo ^<?xml version="1.0" encoding="UTF-16"?^>
|
echo Set WshShell = CreateObject^("WScript.Shell"^)
|
||||||
echo ^<Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task"^>
|
echo WshShell.Run chr^(34^) ^& "%SCRIPT_PATH%" ^& chr^(34^), 0, True
|
||||||
echo ^<RegistrationInfo^>
|
echo Set WshShell = Nothing
|
||||||
echo ^<Date^>2020-01-01T00:00:00^</Date^>
|
) > "%VBS_PATH%"
|
||||||
echo ^<Author^>"%USERNAME%"^</Author^>
|
|
||||||
echo ^<Description^>Run DelayedExplorerStart.bat at logon.^</Description^>
|
|
||||||
echo ^</RegistrationInfo^>
|
|
||||||
echo ^<Triggers^>
|
|
||||||
echo ^<LogonTrigger^>
|
|
||||||
echo ^<Enabled^>true^</Enabled^>
|
|
||||||
echo ^</LogonTrigger^>
|
|
||||||
echo ^</Triggers^>
|
|
||||||
echo ^<Principals^>
|
|
||||||
echo ^<Principal id="Author"^>
|
|
||||||
echo ^<UserId^>%USERNAME%</UserId^>
|
|
||||||
echo ^<LogonType^>InteractiveToken^</LogonType^>
|
|
||||||
echo ^<RunLevel^>HighestAvailable^</RunLevel^>
|
|
||||||
echo ^</Principal^>
|
|
||||||
echo ^</Principals^>
|
|
||||||
echo ^<Settings^>
|
|
||||||
echo ^<MultipleInstancesPolicy^>IgnoreNew^</MultipleInstancesPolicy^>
|
|
||||||
echo ^<DisallowStartIfOnBatteries^>false^</DisallowStartIfOnBatteries^>
|
|
||||||
echo ^<StopIfGoingOnBatteries^>false^</StopIfGoingOnBatteries^>
|
|
||||||
echo ^<AllowHardTerminate^>true^</AllowHardTerminate^>
|
|
||||||
echo ^<StartWhenAvailable^>true^</StartWhenAvailable^>
|
|
||||||
echo ^<RunOnlyIfNetworkAvailable^>false^</RunOnlyIfNetworkAvailable^>
|
|
||||||
echo ^<IdleSettings^>
|
|
||||||
echo ^<StopOnIdleEnd^>true^</StopOnIdleEnd^>
|
|
||||||
echo ^<RestartOnIdle^>false^</RestartOnIdle^>
|
|
||||||
echo ^</IdleSettings^>
|
|
||||||
echo ^<Enabled^>true^</Enabled^>
|
|
||||||
echo ^<Hidden^>false^</Hidden^>
|
|
||||||
echo ^<WakeToRun^>false^</WakeToRun^>
|
|
||||||
echo ^<ExecutionTimeLimit^>PT72H^</ExecutionTimeLimit^>
|
|
||||||
echo ^<Priority^>7^</Priority^>
|
|
||||||
echo ^</Settings^>
|
|
||||||
echo ^<Actions Context="Author"^>
|
|
||||||
echo ^<Exec^>
|
|
||||||
echo ^<Command^>wscript.exe^</Command^>
|
|
||||||
echo ^<Arguments^>"%VBS_PATH%"^</Arguments^>
|
|
||||||
echo ^</Exec^>
|
|
||||||
echo ^</Actions^>
|
|
||||||
echo ^</Task^>
|
|
||||||
) > "%XML_PATH%"
|
|
||||||
|
|
||||||
echo Delete the existing scheduled task if it exists
|
echo ---------------------------------------------------
|
||||||
schtasks /delete /tn "RunDelayedExplorerStart" /f
|
echo Creating Scheduled Task (Native Method)
|
||||||
|
echo ---------------------------------------------------
|
||||||
|
|
||||||
echo Create the scheduled task using the XML file
|
:: Delete existing task to prevent conflicts
|
||||||
schtasks /create /tn "RunDelayedExplorerStart" /xml "%XML_PATH%"
|
schtasks /delete /tn "RunDelayedExplorerStart" /f >nul 2>&1
|
||||||
|
|
||||||
echo Delayed Explorer start script and VBScript created in Playnite folder.
|
:: Create Task
|
||||||
echo Scheduled Task added to run the script at logon.
|
:: /sc onlogon : Runs every time a user logs in
|
||||||
echo XML file for Scheduled Task created.
|
:: /rl highest : Runs with highest privileges (Required to edit Registry in background)
|
||||||
|
:: /tr : Targets the VBS script (escaped quotes handle spaces in path)
|
||||||
|
schtasks /create /tn "RunDelayedExplorerStart" /tr "wscript.exe \"%VBS_PATH%\"" /sc onlogon /rl highest /f
|
||||||
|
|
||||||
|
if %ERRORLEVEL% EQU 0 (
|
||||||
|
echo SUCCESS: Scheduled Task created successfully.
|
||||||
|
) else (
|
||||||
|
echo ERROR: Failed to create Scheduled Task.
|
||||||
|
)
|
||||||
|
|
||||||
|
echo ---------------------------------------------------
|
||||||
|
echo Applying Registry Optimizations...
|
||||||
|
|
||||||
echo Disable the boot UI
|
echo Disable the boot UI
|
||||||
bcdedit.exe -set {globalsettings} bootuxdisabled on
|
bcdedit.exe -set {globalsettings} bootuxdisabled on
|
||||||
|
|
||||||
echo Disable Logon UI
|
echo Disable Logon UI
|
||||||
|
|
||||||
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DisableLogonUI /t REG_DWORD /d 1 /f
|
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DisableLogonUI /t REG_DWORD /d 1 /f
|
||||||
|
|
||||||
echo Disable Visual Effects
|
echo Disable Visual Effects
|
||||||
@@ -127,19 +119,26 @@ echo Optimize Paging File Performance
|
|||||||
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v DisablePagingExecutive /t REG_DWORD /d 1 /f
|
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v DisablePagingExecutive /t REG_DWORD /d 1 /f
|
||||||
|
|
||||||
echo Disable Startup Delay
|
echo Disable Startup Delay
|
||||||
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Serialize" /f
|
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Serialize" /f >nul 2>&1
|
||||||
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Serialize" /v StartupDelayInMSec /t REG_DWORD /d 0 /f
|
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Serialize" /v StartupDelayInMSec /t REG_DWORD /d 0 /f
|
||||||
|
|
||||||
echo Improve Windows Explorer Process Priority
|
echo Improve Windows Explorer Process Priority
|
||||||
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\explorer.exe\PerfOptions" /v CpuPriorityClass /t REG_DWORD /d 3 /f
|
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\explorer.exe\PerfOptions" /v CpuPriorityClass /t REG_DWORD /d 3 /f
|
||||||
|
|
||||||
echo Adjust Large System Cache
|
echo Adjust Large System Cache
|
||||||
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v LargeSystemCache /t REG_DWORD /d 1 /f
|
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v LargeSystemCache /t REG_DWORD /d 1 /f
|
||||||
|
|
||||||
echo Enabling No GUI Boot
|
echo Enabling No GUI Boot
|
||||||
bcdedit /set {current} quietboot on
|
bcdedit /set {current} quietboot on
|
||||||
|
|
||||||
echo Registry modifications are complete.
|
echo.
|
||||||
echo Playnite set as default shell.
|
echo ===================================================
|
||||||
echo Automatic logon enabled.
|
echo INSTALLATION COMPLETE
|
||||||
echo Boot UI disabled.
|
echo ===================================================
|
||||||
|
echo Playnite Fullscreen is now the default shell.
|
||||||
|
echo Explorer will launch in the background 20s after login.
|
||||||
|
echo.
|
||||||
|
echo NOTE: Ensure you are logged into the User Account
|
||||||
|
echo you intend to game on when you restart.
|
||||||
|
echo.
|
||||||
pause
|
pause
|
||||||
|
|||||||
@@ -1,135 +1,107 @@
|
|||||||
@echo off
|
:: Self-elevating Admin script
|
||||||
SETLOCAL EnableExtensions
|
:: This script will automatically request admin rights if not running as admin
|
||||||
|
|
||||||
|
rem Check for admin rights and self-elevate if needed
|
||||||
|
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
|
||||||
|
if '%errorlevel%' NEQ '0' (
|
||||||
|
echo Requesting administrative privileges...
|
||||||
|
goto UACPrompt
|
||||||
|
) else (
|
||||||
|
goto GotAdmin
|
||||||
|
)
|
||||||
|
|
||||||
|
:UACPrompt
|
||||||
|
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
|
||||||
|
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
|
||||||
|
"%temp%\getadmin.vbs"
|
||||||
|
exit /B
|
||||||
|
|
||||||
|
:GotAdmin
|
||||||
|
if exist "%temp%\getadmin.vbs" del "%temp%\getadmin.vbs"
|
||||||
|
pushd "%CD%"
|
||||||
|
CD /D "%~dp0"
|
||||||
|
|
||||||
|
SETLOCAL EnableExtensions EnableDelayedExpansion
|
||||||
|
echo Running with administrative privileges...
|
||||||
echo Setting Steam Big Picture as default shell
|
echo Setting Steam Big Picture as default shell
|
||||||
|
|
||||||
echo Set Steam Big Picture as the default shell
|
echo Set Steam Big Picture as the default shell
|
||||||
SET "KEY_NAME=HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"
|
SET "KEY_NAME=HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"
|
||||||
SET "VALUE_NAME=Shell"
|
SET "VALUE_NAME=Shell"
|
||||||
|
:: Added -silent to Steam args to prevent popups if possible, though BigPicture overrides it often
|
||||||
SET "STEAM_PATH=C:\Program Files (x86)\Steam\Steam.exe -bigpicture -nobootstrapupdate -skipinitialbootstrap -skipverifyfiles"
|
SET "STEAM_PATH=C:\Program Files (x86)\Steam\Steam.exe -bigpicture -nobootstrapupdate -skipinitialbootstrap -skipverifyfiles"
|
||||||
REG ADD "%KEY_NAME%" /v %VALUE_NAME% /t REG_SZ /d "%STEAM_PATH%" /f
|
REG ADD "%KEY_NAME%" /v %VALUE_NAME% /t REG_SZ /d "%STEAM_PATH%" /f
|
||||||
|
|
||||||
@echo off
|
|
||||||
SETLOCAL EnableExtensions EnableDelayedExpansion
|
|
||||||
|
|
||||||
echo Define the default Steam folder path and script names
|
echo Define the default Steam folder path and script names
|
||||||
SET "STEAM_FOLDER=C:\Program Files (x86)\Steam"
|
SET "STEAM_FOLDER=C:\Program Files (x86)\Steam"
|
||||||
SET "SCRIPT_NAME=DelayedExplorerStart.bat"
|
SET "SCRIPT_NAME=DelayedExplorerStart.bat"
|
||||||
SET "SCRIPT_PATH=%STEAM_FOLDER%\%SCRIPT_NAME%"
|
SET "SCRIPT_PATH=%STEAM_FOLDER%\%SCRIPT_NAME%"
|
||||||
SET "EXPLORER_PATH=C:\Windows\explorer.exe"
|
SET "EXPLORER_PATH=C:\Windows\explorer.exe"
|
||||||
SET "MANIFEST_PATH=%STEAM_PATH%.manifest"
|
SET "STEAM_EXE=C:\Program Files (x86)\Steam\Steam.exe"
|
||||||
|
SET "MANIFEST_PATH=%STEAM_EXE%.manifest"
|
||||||
|
|
||||||
:: Create the manifest file to force admin privileges for Steam
|
echo Copying pre-created manifest file...
|
||||||
echo Creating manifest file for Steam to run as admin...
|
:: Ensure steam.manifest exists in the same folder as this script, otherwise skip
|
||||||
(
|
if exist "%~dp0steam.manifest" copy "%~dp0steam.manifest" "%MANIFEST_PATH%" >nul 2>&1
|
||||||
echo ^<?xml version="1.0" encoding="UTF-8" standalone="yes"?^>
|
|
||||||
echo ^<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"^>
|
|
||||||
echo ^<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2"^>
|
|
||||||
echo ^<security^>
|
|
||||||
echo ^<requestedPrivileges^>
|
|
||||||
echo ^<requestedExecutionLevel level="requireAdministrator" uiAccess="false"/^>
|
|
||||||
echo ^</requestedPrivileges^>
|
|
||||||
echo ^</security^>
|
|
||||||
echo ^</trustInfo^>
|
|
||||||
echo ^</assembly^>
|
|
||||||
) > "%MANIFEST_PATH%"
|
|
||||||
|
|
||||||
echo Creating DelayedExplorerStart.bat script
|
echo Creating DelayedExplorerStart.bat script
|
||||||
|
|
||||||
echo Create the DelayedExplorerStart.bat script in the Steam folder
|
echo Create the DelayedExplorerStart.bat script in the Steam folder
|
||||||
(
|
(
|
||||||
echo @echo off
|
echo @echo off
|
||||||
echo rem Check if user is logged on
|
echo :: Ensure Explorer will load as full shell
|
||||||
echo whoami ^| find /i "%USERNAME%" ^>nul
|
|
||||||
echo if ERRORLEVEL 1 exit
|
|
||||||
echo rem Set Shell back to Explorer
|
|
||||||
echo REG ADD "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v Shell /t REG_SZ /d "%EXPLORER_PATH%" /f
|
echo REG ADD "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v Shell /t REG_SZ /d "%EXPLORER_PATH%" /f
|
||||||
|
|
||||||
|
echo :: Wait for Steam Big Picture to initialize
|
||||||
echo timeout /t 20 /nobreak ^>nul
|
echo timeout /t 20 /nobreak ^>nul
|
||||||
echo start C:\Windows\explorer.exe
|
|
||||||
|
echo :: Launch the full Windows Explorer shell
|
||||||
|
echo start "" "%EXPLORER_PATH%"
|
||||||
|
|
||||||
|
echo :: Allow Explorer to settle
|
||||||
echo timeout /t 10 /nobreak ^>nul
|
echo timeout /t 10 /nobreak ^>nul
|
||||||
|
|
||||||
|
echo :: Restore Steam as shell for next boot
|
||||||
echo REG ADD "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v Shell /t REG_SZ /d "%STEAM_PATH%" /f
|
echo REG ADD "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v Shell /t REG_SZ /d "%STEAM_PATH%" /f
|
||||||
) > "%SCRIPT_PATH%"
|
) > "%SCRIPT_PATH%"
|
||||||
|
|
||||||
|
|
||||||
echo %VBS_PATH%
|
|
||||||
|
|
||||||
echo Creating RunBatchSilently.vbs script
|
echo Creating RunBatchSilently.vbs script
|
||||||
|
|
||||||
:: Create VBScript to run the batch file silently
|
:: Create VBScript to run the batch file silently
|
||||||
@echo off
|
@echo off
|
||||||
SET "VBS_NAME=RunBatchSilently.vbs"
|
SET "VBS_NAME=RunBatchSilently.vbs"
|
||||||
SET "VBS_PATH=%STEAM_FOLDER%\%VBS_NAME%"
|
SET "VBS_PATH=%STEAM_FOLDER%\%VBS_NAME%"
|
||||||
echo Set WshShell = CreateObject("WScript.Shell") > "%VBS_PATH%"
|
|
||||||
echo WshShell.Run chr(34)^&"%SCRIPT_PATH%"^&chr(34), 0, True >> "%VBS_PATH%"
|
|
||||||
echo Set WshShell = Nothing >> "%VBS_PATH%"
|
|
||||||
|
|
||||||
echo Create XML file for the scheduled task
|
|
||||||
SET XML_PATH=%STEAM_FOLDER%\DelayedExplorerStartTask.xml
|
|
||||||
|
|
||||||
echo Delete the existing XML file if it exists
|
|
||||||
IF EXIST "%XML_PATH%" DEL "%XML_PATH%"
|
|
||||||
|
|
||||||
(
|
(
|
||||||
echo ^<?xml version="1.0" encoding="UTF-16"?^>
|
echo Set WshShell = CreateObject^("WScript.Shell"^)
|
||||||
echo ^<Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task"^>
|
echo WshShell.Run chr^(34^) ^& "%SCRIPT_PATH%" ^& chr^(34^), 0, True
|
||||||
echo ^<RegistrationInfo^>
|
echo Set WshShell = Nothing
|
||||||
echo ^<Date^>2020-01-01T00:00:00^</Date^>
|
) > "%VBS_PATH%"
|
||||||
echo ^<Author^>"%USERNAME%"^</Author^>
|
|
||||||
echo ^<Description^>Run DelayedExplorerStart.bat at logon.^</Description^>
|
|
||||||
echo ^</RegistrationInfo^>
|
|
||||||
echo ^<Triggers^>
|
|
||||||
echo ^<LogonTrigger^>
|
|
||||||
echo ^<Enabled^>true^</Enabled^>
|
|
||||||
echo ^</LogonTrigger^>
|
|
||||||
echo ^</Triggers^>
|
|
||||||
echo ^<Principals^>
|
|
||||||
echo ^<Principal id="Author"^>
|
|
||||||
echo ^<UserId^>%USERNAME%</UserId^>
|
|
||||||
echo ^<LogonType^>InteractiveToken^</LogonType^>
|
|
||||||
echo ^<RunLevel^>HighestAvailable^</RunLevel^>
|
|
||||||
echo ^</Principal^>
|
|
||||||
echo ^</Principals^>
|
|
||||||
echo ^<Settings^>
|
|
||||||
echo ^<MultipleInstancesPolicy^>IgnoreNew^</MultipleInstancesPolicy^>
|
|
||||||
echo ^<DisallowStartIfOnBatteries^>false^</DisallowStartIfOnBatteries^>
|
|
||||||
echo ^<StopIfGoingOnBatteries^>false^</StopIfGoingOnBatteries^>
|
|
||||||
echo ^<AllowHardTerminate^>true^</AllowHardTerminate^>
|
|
||||||
echo ^<StartWhenAvailable^>true^</StartWhenAvailable^>
|
|
||||||
echo ^<RunOnlyIfNetworkAvailable^>false^</RunOnlyIfNetworkAvailable^>
|
|
||||||
echo ^<IdleSettings^>
|
|
||||||
echo ^<StopOnIdleEnd^>true^</StopOnIdleEnd^>
|
|
||||||
echo ^<RestartOnIdle^>false^</RestartOnIdle^>
|
|
||||||
echo ^</IdleSettings^>
|
|
||||||
echo ^<Enabled^>true^</Enabled^>
|
|
||||||
echo ^<Hidden^>false^</Hidden^>
|
|
||||||
echo ^<WakeToRun^>false^</WakeToRun^>
|
|
||||||
echo ^<ExecutionTimeLimit^>PT72H^</ExecutionTimeLimit^>
|
|
||||||
echo ^<Priority^>7^</Priority^>
|
|
||||||
echo ^</Settings^>
|
|
||||||
echo ^<Actions Context="Author"^>
|
|
||||||
echo ^<Exec^>
|
|
||||||
echo ^<Command^>wscript.exe^</Command^>
|
|
||||||
echo ^<Arguments^>"%VBS_PATH%"^</Arguments^>
|
|
||||||
echo ^</Exec^>
|
|
||||||
echo ^</Actions^>
|
|
||||||
echo ^</Task^>
|
|
||||||
) > "%XML_PATH%"
|
|
||||||
|
|
||||||
echo Delete the existing scheduled task if it exists
|
echo ---------------------------------------------------
|
||||||
schtasks /delete /tn "RunDelayedExplorerStart" /f
|
echo Creating Scheduled Task (Native Method)
|
||||||
|
echo ---------------------------------------------------
|
||||||
|
|
||||||
echo Create the scheduled task using the XML file
|
:: Delete the existing scheduled task if it exists
|
||||||
schtasks /create /tn "RunDelayedExplorerStart" /xml "%XML_PATH%"
|
schtasks /delete /tn "RunDelayedExplorerStart" /f >nul 2>&1
|
||||||
|
|
||||||
echo Delayed Explorer start script and VBScript created in Steam folder.
|
:: Create the task using standard flags instead of XML
|
||||||
echo Scheduled Task added to run the script at logon.
|
:: /sc onlogon : Runs when user logs in
|
||||||
echo XML file for Scheduled Task created.
|
:: /rl highest : Runs with highest privileges (needed for reg edits in the bat)
|
||||||
|
:: /tr : The command to run (The VBS script)
|
||||||
|
schtasks /create /tn "RunDelayedExplorerStart" /tr "wscript.exe \"%VBS_PATH%\"" /sc onlogon /rl highest /f
|
||||||
|
|
||||||
|
if %ERRORLEVEL% EQU 0 (
|
||||||
|
echo SUCCESS: Scheduled Task created successfully.
|
||||||
|
) else (
|
||||||
|
echo ERROR: Failed to create Scheduled Task.
|
||||||
|
)
|
||||||
|
|
||||||
|
echo ---------------------------------------------------
|
||||||
|
echo Applying Registry Optimizations...
|
||||||
|
|
||||||
echo Disable the boot UI
|
echo Disable the boot UI
|
||||||
bcdedit.exe -set {globalsettings} bootuxdisabled on
|
bcdedit.exe -set {globalsettings} bootuxdisabled on
|
||||||
|
|
||||||
echo Disable Logon UI
|
echo Disable Logon UI
|
||||||
|
|
||||||
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DisableLogonUI /t REG_DWORD /d 1 /f
|
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DisableLogonUI /t REG_DWORD /d 1 /f
|
||||||
|
|
||||||
echo Disable Visual Effects
|
echo Disable Visual Effects
|
||||||
@@ -142,19 +114,23 @@ echo Optimize Paging File Performance
|
|||||||
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v DisablePagingExecutive /t REG_DWORD /d 1 /f
|
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v DisablePagingExecutive /t REG_DWORD /d 1 /f
|
||||||
|
|
||||||
echo Disable Startup Delay
|
echo Disable Startup Delay
|
||||||
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Serialize" /f
|
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Serialize" /f >nul 2>&1
|
||||||
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Serialize" /v StartupDelayInMSec /t REG_DWORD /d 0 /f
|
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Serialize" /v StartupDelayInMSec /t REG_DWORD /d 0 /f
|
||||||
|
|
||||||
echo Improve Windows Explorer Process Priority
|
echo Improve Windows Explorer Process Priority
|
||||||
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\explorer.exe\PerfOptions" /v CpuPriorityClass /t REG_DWORD /d 3 /f
|
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\explorer.exe\PerfOptions" /v CpuPriorityClass /t REG_DWORD /d 3 /f
|
||||||
|
|
||||||
echo Adjust Large System Cache
|
echo Adjust Large System Cache
|
||||||
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v LargeSystemCache /t REG_DWORD /d 1 /f
|
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v LargeSystemCache /t REG_DWORD /d 1 /f
|
||||||
|
|
||||||
echo Enabling No GUI Boot
|
echo Enabling No GUI Boot
|
||||||
bcdedit /set {current} quietboot on
|
bcdedit /set {current} quietboot on
|
||||||
|
|
||||||
echo Registry modifications are complete.
|
echo.
|
||||||
echo Steam Big Picture set as default shell.
|
echo ===================================================
|
||||||
echo Automatic logon enabled.
|
echo INSTALLATION COMPLETE
|
||||||
echo Boot UI disabled.
|
echo ===================================================
|
||||||
|
echo Steam Big Picture is now the default shell.
|
||||||
|
echo A background task will launch Explorer 20s after login.
|
||||||
|
echo Please Restart your PC to take effect.
|
||||||
pause
|
pause
|
||||||
|
|||||||
26
README.md
26
README.md
@@ -1,6 +1,6 @@
|
|||||||
Transform your Windows Computer into a Video Game console first, PC second!
|
Transform your Windows Computer into a Video Game console first, PC second! GamesDows is intended to emulate Steam OS's "Game Mode" as closely as possible.
|
||||||
|
|
||||||
**This script is a WIP. Currently, the main functionality works as intended (certainly in V1). Steam Big Picture (or Playnite) launches automatically when the OS boots, then explorer starts automatically after a delay, which allows you to exit to desktop via the menu without needing to launch a shortcut for Explorer.exe first.**
|
**This script is a WIP. Currently, the main functionality works as intended. Steam Big Picture (or Playnite) launches automatically when the OS boots with high priority set as as the shell, then explorer starts automatically after a delay, which allows you to exit to desktop via the menu without needing to launch a shortcut for Explorer.exe first.**
|
||||||
|
|
||||||
**Note: Steam or Playnite must be installed, you must be signed in to Steam if using the Steam variant, and finally the Steam Autostart entry in task manager must be disabled/deleted before running the script.**
|
**Note: Steam or Playnite must be installed, you must be signed in to Steam if using the Steam variant, and finally the Steam Autostart entry in task manager must be disabled/deleted before running the script.**
|
||||||
|
|
||||||
@@ -9,9 +9,9 @@ Transform your Windows Computer into a Video Game console first, PC second!
|
|||||||
# GamesDows
|
# GamesDows
|
||||||
The Enable GamesDows batch script makes Windows boot straight into Steam Big Picture or Playnite without displaying any Explorer UI elements to ensure a Game Console like experience on Windows. I made this because I have a Steam Deck and I want the experience to mirror that of Steam OS as closely as possible. However, this will work on any Windows PC, the commands are not specific to the Steam Deck.
|
The Enable GamesDows batch script makes Windows boot straight into Steam Big Picture or Playnite without displaying any Explorer UI elements to ensure a Game Console like experience on Windows. I made this because I have a Steam Deck and I want the experience to mirror that of Steam OS as closely as possible. However, this will work on any Windows PC, the commands are not specific to the Steam Deck.
|
||||||
|
|
||||||
**How the main functionality works: The enable Game Mode batch script sets steam big picture as the shell (in V2 a VBS script is set as the shell when the computer boots, and then it immediately set Steam as the Shell, then runs a powershell command to start Steam or Playnite as admin> but launches steam as lower privileged (so the virtual mouse and keyboard don't work on system prompts such as task manager yet (in V1), it needs to run as admin to fix that. One of the 4 remaining problems, which again may be solved with V2) The enable Game Mode batch script creates a second VBS script to suppress the command prompt window when Explorer.exe launches in the background > The VBS script launches a second batch script created by the enable script creates and launches the second batch script via a scheduled task after a 20 second delay > delayed explorer batch script resets the shell to to explorer.exe, then launches explorer in the background so that it's possible to exit big picture without running a shortcut (menu performs as expected and exits directly to desktop without manually launching a separate shortcut).**
|
**How the main functionality works: The enable Game Mode batch script sets steam big picture as the shell and creates a manifest file in the Steam folder which allows it to always start as admin. The enable Game Mode batch script creates a VBS script to suppress the command prompt window when Explorer.exe launches in the background > The VBS script launches a second batch script created by the enable script creates and launches the second batch script via a scheduled task after a 20 second delay > delayed explorer batch script resets the shell to to explorer.exe, then launches explorer in the background so that it's possible to exit big picture without running a shortcut (menu performs as expected and exits directly to desktop without manually launching a separate shortcut).**
|
||||||
|
|
||||||
After another delay once explorer.exe is started (it retains elevated permissions once started), the default shell is reset to Steam Big Picture so that it boots directly to Big Picture as expected upon reboot. In V2, the script is reset to the first VBS script which resets the shell to Playnite/Steam Big Picture so the loop starts again every reboot.
|
After another delay once explorer.exe is started (it retains elevated permissions once started), the default shell is reset to Steam Big Picture so that it boots directly to Big Picture as expected upon reboot.
|
||||||
|
|
||||||
The powershell commands are run directly via the batch script, so no secondary powershell script is needed. Everything in the script is done automatically when run as admin.
|
The powershell commands are run directly via the batch script, so no secondary powershell script is needed. Everything in the script is done automatically when run as admin.
|
||||||
|
|
||||||
@@ -60,16 +60,18 @@ What remains to be fixed:
|
|||||||
|
|
||||||
1. Completely suppressing the taskbar from appearing when Windows Explorer automatically launches in the background. The taskbar displays temporarily for ~1 second when explorer.exe launches, which makes it appear over the Big Picture UI; and then it disappears. This is not intended behavior, and it is visually distracting.
|
1. Completely suppressing the taskbar from appearing when Windows Explorer automatically launches in the background. The taskbar displays temporarily for ~1 second when explorer.exe launches, which makes it appear over the Big Picture UI; and then it disappears. This is not intended behavior, and it is visually distracting.
|
||||||
|
|
||||||
2. Disabling the Windows welcome sign-in UI animation (user picture, user name, spinning wheel) entirely. Currently the Boot logo is removed as intended, and the script is set to log the user account which ran the script in automatically. The welcome sign-in animation still remains, and will be disabled in future versions of the script. Going to have to write a custom C++ application to do so since there is no off the shelf way to disable the Welcome Screen on Windows 11.
|
2. Disabling the Windows welcome sign-in UI animation (user picture, user name, spinning wheel) entirely. Currently the Boot logo is removed as intended, and the script is set to log the user account which ran the script in automatically. The welcome sign-in animation still remains, and will be disabled in future versions of the script. Going to have to write a custom C++ application or a custom credential provider to do so since there is no off the shelf way to disable the Welcome Screen on Windows 11.
|
||||||
|
|
||||||
3. (**Possibly solved in V2**)
|
3. Disabling the Steam client update window which displays momentarily when Steam updates (this only occurs when the Steam Client has an update, otherwise it will not appear) before launching Big Picture.
|
||||||
|
|
||||||
Setting Steam to start as admin (VBS script to suppress the command prompt window set as the shell at boot > VBS script launches the batch script > batch sets steam big picture as the shell > batch launches steam as admin > delayed explorer batch script resets the shell to the VBS script so Steam launches as the default shell at boot.)
|
|
||||||
|
|
||||||
4. Disabling the Steam client update window which displays momentarily when Steam updates (this only occurs when the Steam Client has an update, otherwise it will not appear) before launching Big Picture.
|
|
||||||
|
|
||||||
**Please let me know if you have any issues with existing functionality and I'll try to get the bugs fixed up if any arise.**
|
**Please let me know if you have any issues with existing functionality and I'll try to get the bugs fixed up if any arise.**
|
||||||
|
|
||||||
I will gladly take PRs to fix the 4 remaining issues if anyone knows how to solve them.
|
I will gladly take PRs to fix the 3 remaining issues if anyone knows how to solve them.
|
||||||
|
|
||||||
|
**Note: If for any reason explorer doesn't start and you get a black screen and cannot view the desktop, it needs to be launched manually via task manager by launching explorer.exe. It needs to be set as the shell first in the registry before it is launched from task manager for the desktop to appear when launched a single time, otherwise it will just launch a file browser window. Due to this limitation, you must start explorer.exe twice from task manager to load the Desktop**
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
Download the files or the zip in the releases section, run the Enable GamesDows script for either Steam or Playnite.
|
||||||
|
|
||||||
|
If you would also like to install Decky Loader, run "install_decky.bat" as administrator and follow the prompts. This script is not necessary for GamesDows to function, it enables the Decky Loader plugin system for Steam. I've included it in this project as it brings Windows one step closer to Steam OS functionality.
|
||||||
|
|
||||||
**Note: If for any reason explorer doesn't start and you get a black screen and cannot view the desktop, it needs to be launched manually via task manager by launching explorer.exe. It needs to be set as the shell first before it is launching it from task manager for the desktop to appear, otherwise it will just launch a file browser window**
|
|
||||||
|
|||||||
10
steam.manifest
Normal file
10
steam.manifest
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
|
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
|
||||||
|
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
|
||||||
|
<security>
|
||||||
|
<requestedPrivileges>
|
||||||
|
<requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>
|
||||||
|
</requestedPrivileges>
|
||||||
|
</security>
|
||||||
|
</trustInfo>
|
||||||
|
</assembly>
|
||||||
Reference in New Issue
Block a user