18 Commits
v3 ... v4

Author SHA1 Message Date
jazir5
06c1cb02d6 Update Enable GamesDows Playnite.bat 2024-12-20 15:00:51 -08:00
jazir5
d49ff27ad4 Update Enable GamesDows Steam V3.bat 2024-12-20 14:54:14 -08:00
jazir5
7e842382cf Update Enable GamesDows Steam V3.bat 2024-12-20 14:48:01 -08:00
jazir5
ac3ff0bb1b Update README.md 2024-11-24 23:30:05 -08:00
jazir5
a5af0188b1 Update README.md 2024-11-03 19:31:53 -08:00
jazir5
e6b15506fd Update README.md 2024-11-03 19:31:09 -08:00
jazir5
6e5d28bf6b Update Enable GamesDows Playnite.bat 2024-11-01 18:07:43 -07:00
jazir5
c1125b3376 Update Enable GamesDows Playnite.bat 2024-11-01 18:03:08 -07:00
jazir5
8ca56ed459 Update Enable GamesDows Playnite.bat 2024-11-01 18:01:28 -07:00
jazir5
a5c0d26e6f Update Enable GamesDows Playnite.bat 2024-11-01 17:58:06 -07:00
jazir5
d883fd4115 Update Enable GamesDows Playnite.bat 2024-11-01 17:56:54 -07:00
jazir5
5f1428c7e3 Update README.md 2024-11-01 17:55:39 -07:00
jazir5
51d6fab016 Update README.md 2024-10-24 16:20:22 -07:00
jazir5
345f25cbad Update README.md 2024-10-24 16:19:40 -07:00
jazir5
38358751d5 Update README.md 2024-10-24 16:15:36 -07:00
jazir5
e0f9bf46d6 Update README.md 2024-10-24 01:30:11 -07:00
jazir5
befd6aa4f2 Update README.md 2024-10-17 03:22:46 -07:00
jazir5
bc141c3e1a Update README.md 2024-10-17 03:22:26 -07:00
3 changed files with 27 additions and 39 deletions

View File

@@ -1,23 +1,18 @@
@echo off
SETLOCAL EnableExtensions
echo Setting Playnite as default shell
echo Set Playnite as the default shell
SET "KEY_NAME=HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"
SET "VALUE_NAME=Shell"
SET "PLAYNITE_PATH=%LOCALAPPDATA%\Playnite\Playnite.FullscreenApp.exe
REG ADD "%KEY_NAME%" /v %VALUE_NAME% /t REG_SZ /d "%PLAYNITE_PATH%" /f
@echo off
SETLOCAL EnableExtensions EnableDelayedExpansion
echo Define the default Playnite folder path and script names
echo Setting Playnite as default shell
SET "KEY_NAME=HKCU\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"
SET "VALUE_NAME=Shell"
SET "PLAYNITE_FOLDER=%LOCALAPPDATA%\Playnite"
SET "PLAYNITE_PATH=%LOCALAPPDATA%\Playnite\Playnite.FullscreenApp.exe"
REG ADD "%KEY_NAME%" /v %VALUE_NAME% /t REG_SZ /d "%PLAYNITE_PATH%" /f
SET "SCRIPT_NAME=DelayedExplorerStart.bat"
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
@@ -28,11 +23,11 @@ echo rem Check if user is logged on
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 "HKCU\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 "%PLAYNITE_PATH%" /f
echo REG ADD "HKCU\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v Shell /t REG_SZ /d "%PLAYNITE_PATH%" /f
) > "%SCRIPT_PATH%"
@@ -40,10 +35,7 @@ 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=%PLAYNITE_FOLDER%\%VBS_NAME%"
rem Create VBScript to run the batch file silently
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%"
@@ -101,10 +93,10 @@ echo ^</Task^>
) > "%XML_PATH%"
echo Delete the existing scheduled task if it exists
schtasks /delete /tn "RunDelayedExplorerStart" /f
schtasks /delete /tn "RunDelayedExplorerStart" /f /ru "%USERNAME%"
echo Create the scheduled task using the XML file
schtasks /create /tn "RunDelayedExplorerStart" /xml "%XML_PATH%"
schtasks /create /tn "RunDelayedExplorerStart" /xml "%XML_PATH%" /ru "%USERNAME%"
echo Delayed Explorer start script and VBScript created in Playnite folder.
echo Scheduled Task added to run the script at logon.
@@ -115,7 +107,7 @@ 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
reg add "HKCU\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

View File

@@ -4,7 +4,7 @@ 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 "KEY_NAME=HKCU\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
@@ -43,11 +43,11 @@ echo rem Check if user is logged on
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 "HKCU\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
echo REG ADD "HKCU\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v Shell /t REG_SZ /d "%STEAM_PATH%" /f
) > "%SCRIPT_PATH%"
@@ -116,10 +116,10 @@ echo ^</Task^>
) > "%XML_PATH%"
echo Delete the existing scheduled task if it exists
schtasks /delete /tn "RunDelayedExplorerStart" /f
schtasks /delete /tn "RunDelayedExplorerStart" /f /ru "%USERNAME%"
echo Create the scheduled task using the XML file
schtasks /create /tn "RunDelayedExplorerStart" /xml "%XML_PATH%"
schtasks /create /tn "RunDelayedExplorerStart" /xml "%XML_PATH%" /ru "%USERNAME%"
echo Delayed Explorer start script and VBScript created in Steam folder.
echo Scheduled Task added to run the script at logon.
@@ -130,7 +130,7 @@ 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
reg add "HKCU\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

View File

@@ -1,6 +1,6 @@
Transform your Windows Computer into a Video Game console first, PC second!
**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.**
@@ -9,9 +9,9 @@ Transform your Windows Computer into a Video Game console first, PC second!
# 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.
**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.
@@ -60,16 +60,12 @@ 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. (**Possibly solved in V2**)
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 before it is launching it from task manager for the desktop to appear, otherwise it will just launch a file browser window**
**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 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**