在Win10系统桌面右键中增加一键切换系统主题为暗黑模式或明亮模式

查看 111|回复 20
作者:star0112   
   
以下是批处理代码添加
@echo off
set ThemeSwitch=%windir%\system32\ThemeSwitch.vbs
echo Dim WSHShell>%ThemeSwitch%
echo Set WSHShell = WScript.CreateObject("WScript.Shell")>>%ThemeSwitch%
echo.  >>%ThemeSwitch%
echo ' 定义注册表路径常量,方便维护>>%ThemeSwitch%
echo Const REG_PATH = "HKCU\Software\Microsoft\Windows\CurrentVersion\Themes\Personalize\">>%ThemeSwitch%
echo Const LIGHT_THEME_KEY = "SystemUsesLightTheme">>%ThemeSwitch%
echo. >>%ThemeSwitch%
echo ' 读取当前主题状态(1=明亮,0=暗黑)>>%ThemeSwitch%
echo ' 先捕获可能的异常(比如键值不存在时初始化)>>%ThemeSwitch%
echo On Error Resume Next>>%ThemeSwitch%
echo Dim currentTheme>>%ThemeSwitch%
echo currentTheme = ^WSHShell.RegRead(REG_PATH ^& LIGHT_THEME_KEY)>>%ThemeSwitch%
echo If Err.Number ^ 0 Then>>%ThemeSwitch%
echo     ' 如果键值不存在,默认初始化为明亮主题(1)>>%ThemeSwitch%
echo     currentTheme = ^1>>%ThemeSwitch%
echo     WSHShell.RegWrite REG_PATH ^& LIGHT_THEME_KEY, 1, "REG_DWORD">>%ThemeSwitch%
echo     WSHShell.RegWrite REG_PATH ^& "AppsUseLightTheme", 1, "REG_DWORD">>%ThemeSwitch%
echo     Err.Clear>>%ThemeSwitch%
echo End If>>%ThemeSwitch%
echo ^On ^Error ^Goto ^0>>%ThemeSwitch%
echo. >>%ThemeSwitch%
echo ' 根据当前状态切换主题>>%ThemeSwitch%
echo If currentTheme = 1 Then>>%ThemeSwitch%
echo     ' 若当前为明亮主题,则设置为暗黑主题>>%ThemeSwitch%
echo     WSHShell.RegWrite REG_PATH ^& LIGHT_THEME_KEY, 0, "REG_DWORD">>%ThemeSwitch%
echo     WSHShell.RegWrite REG_PATH ^& "AppsUseLightTheme", 0, "REG_DWORD">>%ThemeSwitch%
echo     WSHShell.RegWrite "HKCR\Directory\background\shell\ThemeSwitch\MuiVerb", "切换到明亮主题模式","REG_EXPAND_SZ">>%ThemeSwitch%
echo     WSHShell.Popup "已切换为暗黑主题模式", 0, "操作成功", vbInformation>>%ThemeSwitch%
echo Else>>%ThemeSwitch%
echo     ' 若当前为暗黑主题,则设置为明亮主题>>%ThemeSwitch%
echo     WSHShell.RegWrite REG_PATH ^& LIGHT_THEME_KEY, 1, "REG_DWORD">>%ThemeSwitch%
echo     WSHShell.RegWrite REG_PATH ^& "AppsUseLightTheme", 1, "REG_DWORD">>%ThemeSwitch%
echo     WSHShell.RegWrite "HKCR\Directory\background\shell\ThemeSwitch\MuiVerb", "切换到暗黑主题模式","REG_EXPAND_SZ">>%ThemeSwitch%
echo     WSHShell.Popup "已切换为明亮主题模式", 1, "操作成功", vbInformation>>%ThemeSwitch%
echo End If>>%ThemeSwitch%
echo. >>%ThemeSwitch%
echo ' 移除了原脚本中无效的MuiVerb写入(路径错误且非必要)>>%ThemeSwitch%
echo ' 刷新资源管理器(增强版:强制重启资源管理器确保主题生效)>>%ThemeSwitch%
echo WSHShell.Run "taskkill /f /im explorer.exe && start explorer.exe", 0, True>>%ThemeSwitch%
echo. >>%ThemeSwitch%
echo Set WSHShell = Nothing>>%ThemeSwitch%
reg add "HKCR\Directory\background\shell\ThemeSwitch" /v "MuiVerb" /t REG_SZ /d "切换到明亮主题模式" /f
reg add "HKCR\Directory\background\shell\ThemeSwitch" /v "Icon" /t REG_EXPAND_SZ /d "%%systemroot%%\system32\themecpl.dll,-1" /f
reg add "HKCR\Directory\background\shell\ThemeSwitch\Command" /ve /t REG_EXPAND_SZ /d "wscript.exe \"%%systemroot%%\System32\ThemeSwitch.vbs\"" /f
pause
卸载代码:
reg delete "HKCR\Directory\background\shell\ThemeSwitch" /f
del /q /f /s %systemroot%\System32\ThemeSwitch.vbs
https://baolizhu。lanzouu。com/iqgLR3j1vm2j

主题, 模式, 切换到

wangfang1126   
蓝奏云盘中是一键安装包
https://baolizhu。lanzouu。com/iqgLR3j1vm2j
wangfang1126   
https://www.lanzoui.com/iqgLR3j1vm2j
wangfang1126   
支持原创
wangfang1126   
感谢分享!
wangfang1126   
感谢分享!
wangfang1126   
有用的
wangfang1126   
很实用的功能  瞬间就转换了~~~·
wangfang1126   
win10所有版本都能用吗??  
能科普下吗??
wangfang1126   
很好 谢谢
您需要登录后才可以回帖 登录 | 立即注册

返回顶部