无忧启动论坛
标题:
在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