mirror of
https://github.com/jazir555/GamesDows.git
synced 2025-12-28 18:06:20 +01:00
Compare commits
115 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 | ||
|
|
d1b7a444e2 | ||
|
|
0c84d93c33 | ||
|
|
d250d40338 | ||
|
|
7e4caac315 | ||
|
|
14313ea3f1 | ||
|
|
59ae9686d2 | ||
|
|
deba33efaf | ||
|
|
55e2475630 | ||
|
|
4153a4336c | ||
|
|
b744ddd6c4 | ||
|
|
5e34182874 | ||
|
|
e4f338cd8e | ||
|
|
15a435d27d | ||
|
|
4fe8c7940b | ||
|
|
48252f8b93 | ||
|
|
6c3af61908 | ||
|
|
be6a79d69e | ||
|
|
f75b84da19 | ||
|
|
c182353a1c | ||
|
|
fbcfb0233a | ||
|
|
ddd8f47539 | ||
|
|
60e74326b5 | ||
|
|
db866f23ff | ||
|
|
3955f66bab | ||
|
|
aa634a73cd | ||
|
|
03500223c3 | ||
|
|
0c480d73cc | ||
|
|
95af8c00c2 | ||
|
|
3bcc7e23ca | ||
|
|
aed71b8b75 | ||
|
|
510c83c9e6 | ||
|
|
53f85a79f2 | ||
|
|
5f34c3463d |
@@ -1,34 +0,0 @@
|
||||
@echo off
|
||||
SETLOCAL EnableExtensions EnableDelayedExpansion
|
||||
|
||||
echo Reverting changes and setting default shell back to Explorer
|
||||
|
||||
:: Reset the default shell to Explorer
|
||||
SET "EXPLORER_PATH=C:\Windows\explorer.exe"
|
||||
REG ADD "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v Shell /t REG_SZ /d "C:\Windows\explorer.exe" /f
|
||||
|
||||
:: Define the default Steam folder path
|
||||
SET "STEAM_FOLDER=C:\Program Files (x86)\Steam"
|
||||
|
||||
:: Delete the DelayedExplorerStart.bat script and related files
|
||||
SET "SCRIPT_NAME=DelayedExplorerStart.bat"
|
||||
SET "SCRIPT_PATH=%STEAM_FOLDER%\%SCRIPT_NAME%"
|
||||
IF EXIST "%SCRIPT_PATH%" DEL "%SCRIPT_PATH%"
|
||||
|
||||
SET "VBS_NAME=RunBatchSilently.vbs"
|
||||
SET "VBS_PATH=%STEAM_FOLDER%\%VBS_NAME%"
|
||||
IF EXIST "%VBS_PATH%" DEL "%VBS_PATH%"
|
||||
|
||||
SET "XML_NAME=DelayedExplorerStartTask.xml"
|
||||
SET "XML_PATH=%STEAM_FOLDER%\%XML_NAME%"
|
||||
IF EXIST "%XML_PATH%" DEL "%XML_PATH%"
|
||||
|
||||
:: Delete the scheduled task
|
||||
schtasks /delete /tn "RunDelayedExplorerStart" /f
|
||||
|
||||
:: Enable the boot UI
|
||||
bcdedit.exe -set {globalsettings} bootuxdisabled off
|
||||
|
||||
echo Reversion complete. Default settings restored.
|
||||
|
||||
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
|
||||
144
Enable GamesDows Playnite.bat
Normal file
144
Enable GamesDows Playnite.bat
Normal file
@@ -0,0 +1,144 @@
|
||||
@echo off
|
||||
:: Self-elevating Admin script
|
||||
:: This script will automatically request admin rights if not running as admin
|
||||
|
||||
:: 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 ---------------------------------------------------
|
||||
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_PATH=%PLAYNITE_FOLDER%\Playnite.FullscreenApp.exe"
|
||||
SET "EXPLORER_PATH=C:\Windows\explorer.exe"
|
||||
SET "SCRIPT_NAME=DelayedExplorerStart.bat"
|
||||
SET "SCRIPT_PATH=%PLAYNITE_FOLDER%\%SCRIPT_NAME%"
|
||||
SET "VBS_NAME=RunBatchSilently.vbs"
|
||||
SET "VBS_PATH=%PLAYNITE_FOLDER%\%VBS_NAME%"
|
||||
|
||||
:: 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 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 :: Wait for Playnite to initialize first
|
||||
echo timeout /t 20 /nobreak ^>nul
|
||||
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 REG ADD "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v Shell /t REG_SZ /d "%PLAYNITE_PATH%" /f
|
||||
) > "%SCRIPT_PATH%"
|
||||
|
||||
:: 4. Create the VBS Runner
|
||||
echo Creating RunBatchSilently.vbs script...
|
||||
(
|
||||
echo Set WshShell = CreateObject^("WScript.Shell"^)
|
||||
echo WshShell.Run chr^(34^) ^& "%SCRIPT_PATH%" ^& chr^(34^), 0, True
|
||||
echo Set WshShell = Nothing
|
||||
) > "%VBS_PATH%"
|
||||
|
||||
echo ---------------------------------------------------
|
||||
echo Creating Scheduled Task (Native Method)
|
||||
echo ---------------------------------------------------
|
||||
|
||||
:: Delete existing task to prevent conflicts
|
||||
schtasks /delete /tn "RunDelayedExplorerStart" /f >nul 2>&1
|
||||
|
||||
:: Create Task
|
||||
:: /sc onlogon : Runs every time a user logs in
|
||||
:: /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
|
||||
bcdedit.exe -set {globalsettings} bootuxdisabled on
|
||||
|
||||
echo Disable Logon UI
|
||||
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DisableLogonUI /t REG_DWORD /d 1 /f
|
||||
|
||||
echo Disable Visual Effects
|
||||
reg add "HKEY_CURRENT_USER\Control Panel\Desktop" /v VisualEffects /t REG_DWORD /d 3 /f
|
||||
|
||||
echo Increase File System Performance
|
||||
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem" /v NtfsDisableLastAccessUpdate /t REG_DWORD /d 1 /f
|
||||
|
||||
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
|
||||
|
||||
echo Disable Startup Delay
|
||||
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
|
||||
|
||||
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
|
||||
|
||||
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
|
||||
|
||||
echo Enabling No GUI Boot
|
||||
bcdedit /set {current} quietboot on
|
||||
|
||||
echo.
|
||||
echo ===================================================
|
||||
echo INSTALLATION COMPLETE
|
||||
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
|
||||
136
Enable GamesDows Steam V3.bat
Normal file
136
Enable GamesDows Steam V3.bat
Normal file
@@ -0,0 +1,136 @@
|
||||
:: Self-elevating Admin script
|
||||
:: 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 Set Steam Big Picture as the default shell
|
||||
SET "KEY_NAME=HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"
|
||||
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"
|
||||
REG ADD "%KEY_NAME%" /v %VALUE_NAME% /t REG_SZ /d "%STEAM_PATH%" /f
|
||||
|
||||
echo Define the default Steam folder path and script names
|
||||
SET "STEAM_FOLDER=C:\Program Files (x86)\Steam"
|
||||
SET "SCRIPT_NAME=DelayedExplorerStart.bat"
|
||||
SET "SCRIPT_PATH=%STEAM_FOLDER%\%SCRIPT_NAME%"
|
||||
SET "EXPLORER_PATH=C:\Windows\explorer.exe"
|
||||
SET "STEAM_EXE=C:\Program Files (x86)\Steam\Steam.exe"
|
||||
SET "MANIFEST_PATH=%STEAM_EXE%.manifest"
|
||||
|
||||
echo Copying pre-created manifest file...
|
||||
:: 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 Creating DelayedExplorerStart.bat script
|
||||
echo Create the DelayedExplorerStart.bat script in the Steam folder
|
||||
(
|
||||
echo @echo off
|
||||
echo :: Ensure Explorer will load as full shell
|
||||
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 :: Launch the full Windows Explorer shell
|
||||
echo start "" "%EXPLORER_PATH%"
|
||||
|
||||
echo :: Allow Explorer to settle
|
||||
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
|
||||
) > "%SCRIPT_PATH%"
|
||||
|
||||
echo Creating RunBatchSilently.vbs script
|
||||
|
||||
:: Create VBScript to run the batch file silently
|
||||
@echo off
|
||||
SET "VBS_NAME=RunBatchSilently.vbs"
|
||||
SET "VBS_PATH=%STEAM_FOLDER%\%VBS_NAME%"
|
||||
(
|
||||
echo Set WshShell = CreateObject^("WScript.Shell"^)
|
||||
echo WshShell.Run chr^(34^) ^& "%SCRIPT_PATH%" ^& chr^(34^), 0, True
|
||||
echo Set WshShell = Nothing
|
||||
) > "%VBS_PATH%"
|
||||
|
||||
echo ---------------------------------------------------
|
||||
echo Creating Scheduled Task (Native Method)
|
||||
echo ---------------------------------------------------
|
||||
|
||||
:: Delete the existing scheduled task if it exists
|
||||
schtasks /delete /tn "RunDelayedExplorerStart" /f >nul 2>&1
|
||||
|
||||
:: Create the task using standard flags instead of XML
|
||||
:: /sc onlogon : Runs when user logs in
|
||||
:: /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
|
||||
bcdedit.exe -set {globalsettings} bootuxdisabled on
|
||||
|
||||
echo Disable Logon UI
|
||||
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DisableLogonUI /t REG_DWORD /d 1 /f
|
||||
|
||||
echo Disable Visual Effects
|
||||
reg add "HKEY_CURRENT_USER\Control Panel\Desktop" /v VisualEffects /t REG_DWORD /d 3 /f
|
||||
|
||||
echo Increase File System Performance
|
||||
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem" /v NtfsDisableLastAccessUpdate /t REG_DWORD /d 1 /f
|
||||
|
||||
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
|
||||
|
||||
echo Disable Startup Delay
|
||||
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
|
||||
|
||||
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
|
||||
|
||||
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
|
||||
|
||||
echo Enabling No GUI Boot
|
||||
bcdedit /set {current} quietboot on
|
||||
|
||||
echo.
|
||||
echo ===================================================
|
||||
echo INSTALLATION COMPLETE
|
||||
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
|
||||
@@ -1,145 +0,0 @@
|
||||
@echo off
|
||||
SETLOCAL EnableExtensions
|
||||
|
||||
echo Setting Steam Big Picture as default shell
|
||||
|
||||
echo Set Steam Big Picture as the default shell
|
||||
SET "KEY_NAME=HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"
|
||||
SET "VALUE_NAME=Shell"
|
||||
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
|
||||
|
||||
|
||||
@echo off
|
||||
SETLOCAL EnableExtensions EnableDelayedExpansion
|
||||
|
||||
echo Define the default Steam folder path and script names
|
||||
SET "STEAM_FOLDER=C:\Program Files (x86)\Steam"
|
||||
SET "SCRIPT_NAME=DelayedExplorerStart.bat"
|
||||
SET "SCRIPT_PATH=%STEAM_FOLDER%\%SCRIPT_NAME%"
|
||||
SET "EXPLORER_PATH=C:\Windows\explorer.exe"
|
||||
|
||||
echo Creating DelayedExplorerStart.bat script
|
||||
|
||||
echo Create the DelayedExplorerStart.bat script in the Steam folder
|
||||
(
|
||||
echo @echo off
|
||||
echo Check if user is logged on
|
||||
echo query user ^| find /i "%USERNAME%" ^>nul
|
||||
echo if ERRORLEVEL 1 exit
|
||||
echo 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 start C:\Windows\explorer.exe
|
||||
echo timeout /t 10 /nobreak ^>nul
|
||||
echo REG ADD "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v Shell /t REG_SZ /d "%STEAM_PATH%" /f
|
||||
) > "%SCRIPT_PATH%"
|
||||
|
||||
|
||||
echo %VBS_PATH%
|
||||
|
||||
echo Creating RunBatchSilently.vbs script
|
||||
|
||||
:: Create VBScript to run the batch file silently
|
||||
@echo off
|
||||
SET "VBS_NAME=RunBatchSilently.vbs"
|
||||
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 ^<Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task"^>
|
||||
echo ^<RegistrationInfo^>
|
||||
echo ^<Date^>2020-01-01T00:00:00^</Date^>
|
||||
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
|
||||
schtasks /delete /tn "RunDelayedExplorerStart" /f
|
||||
|
||||
echo Create the scheduled task using the XML file
|
||||
schtasks /create /tn "RunDelayedExplorerStart" /xml "%XML_PATH%"
|
||||
|
||||
echo Delayed Explorer start script and VBScript created in Steam folder.
|
||||
echo Scheduled Task added to run the script at logon.
|
||||
echo XML file for Scheduled Task created.
|
||||
|
||||
echo Disable the boot UI
|
||||
bcdedit.exe -set {globalsettings} bootuxdisabled on
|
||||
|
||||
echo Disable Logon UI
|
||||
|
||||
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DisableLogonUI /t REG_DWORD /d 1 /f
|
||||
|
||||
echo Disable Visual Effects
|
||||
reg add "HKEY_CURRENT_USER\Control Panel\Desktop" /v VisualEffects /t REG_DWORD /d 3 /f
|
||||
|
||||
echo Increase File System Performance
|
||||
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem" /v NtfsDisableLastAccessUpdate /t REG_DWORD /d 1 /f
|
||||
|
||||
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
|
||||
|
||||
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" /v StartupDelayInMSec /t REG_DWORD /d 0 /f
|
||||
|
||||
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
|
||||
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
|
||||
echo Enabling No GUI Boot
|
||||
bcdedit /set {current} quietboot on
|
||||
|
||||
echo Registry modifications are complete.
|
||||
echo Steam Big Picture set as default shell.
|
||||
echo Automatic logon enabled.
|
||||
echo Boot UI disabled.
|
||||
|
||||
pause
|
||||
26
README.md
26
README.md
@@ -1,15 +1,15 @@
|
||||
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. Steam Big Picture 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 must be installed, you must be signed in to Steam, 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.**
|
||||
|
||||
**This script must be run as admin!**
|
||||
|
||||
# GamesDows
|
||||
The Enable GamesDows batch script makes Windows boot straight into Steam Big Picture 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 > batch launches steam as lower privileged (so the virtual mouse and keyboard don't work on system prompts such as task manager yet, it needs to run as admin to fix that. One of the 4 remaining problems) The enable Game Mode batch script creates a VBS script to suppress the command prompt window set as the shell at boot > The VBS script launches a second batch script created by the enable script run as admin > The second batch script is run by 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).**
|
||||
**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.
|
||||
|
||||
@@ -60,12 +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.
|
||||
|
||||
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. 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.
|
||||
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.
|
||||
|
||||
**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.
|
||||
|
||||
|
||||
1
Set explorer as shell.bat
Normal file
1
Set explorer as shell.bat
Normal file
@@ -0,0 +1 @@
|
||||
REG ADD "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v Shell /t REG_SZ /d "C:\Windows\explorer.exe" /f
|
||||
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