无忧启动论坛

标题: 在Win10系统桌面右键中增加一键切换系统主题为暗黑模式或明亮模式 [打印本页]

作者: baolizhu    时间: 昨天 18:50
标题: 在Win10系统桌面右键中增加一键切换系统主题为暗黑模式或明亮模式
本帖最后由 baolizhu 于 2026-2-23 19:04 编辑

以下是批处理代码添加
@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

作者: baolizhu    时间: 昨天 18:51
蓝奏云盘中是一键安装包
https://baolizhu。lanzouu。com/iqgLR3j1vm2j
作者: a66    时间: 昨天 19:01
https://www.lanzoui.com/iqgLR3j1vm2j
作者: wn168cn@163.com    时间: 昨天 19:14
支持原创
作者: handsome_xiang    时间: 昨天 19:16
感谢分享!
作者: hhcha    时间: 昨天 19:28
感谢分享!
作者: star0112    时间: 昨天 19:38
有用的
作者: 518hl    时间: 昨天 20:01
很实用的功能  瞬间就转换了~~~·
作者: 518hl    时间: 昨天 20:03
win10所有版本都能用吗??  

能科普下吗??
作者: yyz2191958    时间: 昨天 20:51
很好 谢谢
作者: ebaqiang    时间: 昨天 22:55
谢谢楼主分享
作者: askgrass    时间: 昨天 23:17
感谢分享!




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) Powered by Discuz! X3.3