![d3cc938e9494a324bc87850b89a1c214.png](https://img-blog.csdnimg.cn/img_convert/d3cc938e9494a324bc87850b89a1c214.png)
发现这文章还是有人看的,抽空更新一下。
最近电脑已经更新到 1909 ,新加入了浅色的任务栏特性,灰色窗口边框的逻辑也经进一步完善(加入了透明度)然而长期用下来已经习惯白色的边框了。
1909 版本的这个设置似乎有了更加激进的修改,之前的 1809 只要不进去个性化设置界面,注册表的颜色就不会被更改,新版本用着用着就会发现颜色被改了回来。
经过一番折腾,我直接把重启 DWM 的 bat 批处理和修改注册表合并在一起,这样就不用每次都要再开注册表编辑器去改了,如下
::修改注册表修改窗口边框和激活窗口标题栏的颜色(这里我把标题栏改成了很浅的灰色,因为资源管理器的字是白色的,改白色就看不见了,第一行色值是16位ABGR)
reg add HKCUSoftwareMicrosoftWindowsDWM /v AccentColor /t REG_DWORD /d 0xfff2f2f2 /f
reg add HKCUSoftwareMicrosoftWindowsDWM /v ColorizationAfterglow /t REG_DWORD /d 0xffffffff /f
reg add HKCUSoftwareMicrosoftWindowsDWM /v ColorizationColor /t REG_DWORD /d 0xffffffff /f
::重启 DWM 让注册表生效,需要管理员权限才生效,部分应用如 Chrome 重启后会黑屏新建一个窗口就能恢复
taskkill /IM dwm.exe /F
exit
上面内容用记事本保存为 .bat 文件,然后右键管理员权限运行即可。
运行之前请确保你的个性化设置【在一下区域显示主题色 -> 标题栏和窗口边框】确保勾上
![519845ebff33c18dfd709c402a495845.png](https://img-blog.csdnimg.cn/img_convert/519845ebff33c18dfd709c402a495845.png)
效果:
![07e298b366ab4054c651a662a53db6ba.png](https://img-blog.csdnimg.cn/img_convert/07e298b366ab4054c651a662a53db6ba.png)
![272a47fe678ffac8c77716ce3e354ef4.png](https://img-blog.csdnimg.cn/img_convert/272a47fe678ffac8c77716ce3e354ef4.png)
………………… 空虚的分割线下是原文 ……………………
最近自己的主力机终于被推送了 win10 1809。这个版本微软又双叒叕对窗口 UI 进行了一些修改:微软似乎已经意识到以前那个带一圈主题色的 1 epx 的窗口边框很丑,1809 开始默认窗口边框的颜色改成了灰色。
方向是正确,事情在向好的方向发展,Fluent Design System 推出之后,windows 的设计已经开始步入正轨:简化成亮和暗 2 个主题进化。
然而 …… 这一次的修改依然 Very Microsoft,充分展示了微软在从 win10 开始的咖喱味的奇葩“半成品”审美。
![6fb1c87368620d1ad8eecaf9c4e0c441.png](https://img-blog.csdnimg.cn/img_convert/6fb1c87368620d1ad8eecaf9c4e0c441.png)
![30c4338c5983ae1c289dbb31f53f878e.png](https://img-blog.csdnimg.cn/img_convert/30c4338c5983ae1c289dbb31f53f878e.png)
![e6f0b998d598429988753d4fa081356c.png](https://img-blog.csdnimg.cn/img_convert/e6f0b998d598429988753d4fa081356c.png)
![1c4a64ec102be5ae0a22601491bd2030.png](https://img-blog.csdnimg.cn/img_convert/1c4a64ec102be5ae0a22601491bd2030.png)
进过各种排列组合之后,大致能够理解 1803 到 1809 之后这几个颜色的变化了:
1803
应用的上左下右边框 = 默认的窗口边框颜色 = “HKEY_CURRENT_USERSoftwareMicrosoftWindowsDWM【ColorizationColor】”
因为这个颜色会在每一次设置主题色的时候被修改成系统主题色的色值,于是窗口边框的颜色就能与系统主题色一致
应用默认标题栏颜色 = 白色(浅色模式)/黑色(暗色模式)/“HKEY_CURRENT_USERSoftwareMicrosoftWindowsDWM【AccentColor】”(勾选个性化选项里面“在一下区域显示主颜色”下面的“标题栏”)
其中UWP应用的主题色与传统应用的系统主题色都由“HKEY_CURRENT_USERSoftwareMicrosoftWindowsDWM【AccentColor】”控制
1809
应用的上左下右边框 = 深灰色(默认)/ “HKEY_CURRENT_USERSoftwareMicrosoftWindowsDWM【ColorizationColor】”(勾选个性化选项里面“在一下区域显示主颜色”下面的“标题栏与窗口边框”)
因为 【ColorizationColor】会在每一次设置UWP的系统主题色的时候被修改成系统主题色的色值,于是窗口边框的颜色就能与系统主题色一致。
UWP应用的系统主题色与【AccentColor】解绑,也就是说即使修改了【AccentColor】,UWP应用的系统主题色依然跟随设置应用里面的颜色。
应用如果使用了自定义的毛玻璃效果(比如客户区扩展到标题栏自己实现的窗口边框的应用,典型如 windows 照片查看器),毛玻璃的颜色其实是【AccentColor】
应用默认标题栏颜色 = 白色(浅色模式)/黑色(暗色模式)/“HKEY_CURRENT_USERSoftwareMicrosoftWindowsDWM【AccentColor】”(勾选个性化选项里面“在一下区域显示主颜色”下面的“标题栏和窗口边框”)
资源管理器的边框颜色 = 默认标题栏颜色
总结起来变动如下:
- 默认窗口边框改成了深灰色;
- 彩色标题栏与彩色窗口边框绑定;
- UWP应用的系统主题色与【AccentColor】定义的色值解绑;
- 资源管理器出于不可描述的目的(大概是为了那个丑到发指的黑色模式),强制让窗口边框和标题栏颜色一致,导致默认窗口边框是白色(其实很好看)。
然后 chrome 的上边缘颜色也使用了一种鸡贼的实现方式:直接读取了DWM的【ColorizationColor】的色值自己画的上边缘
于是就会出现上面的奇葩情况:chrome 读到了被改成系统主题色的【ColorizationColor】,画了上边缘,然后左下右边缘的颜色又变成了深灰色)
拯救强迫症的修复方法:统一把边框改成白色
- 进入设置 > 个性化 > 颜色,先选一个自己喜欢的主题色,勾选“在以下区域显示主颜色”的“标题栏和窗口边框”
- 打开注册表:HKEY_CURRENT_USERSoftwareMicrosoftWindowsDWM,把【AccentColor】【ColorizationColor】和【ColorizationAfterglow】都改成“FFFFFFFF”
- 重启 DWM(比如注销登陆一次),enjoy!
上图,浅色深色主题的对比,效果接近完美
目前不完美的地方:每一次弹 UAC 之后,颜色会变回系统主题色,需要手动重启一次 DWM.exe
![26bdd46477a4a2983debdf7bf2ede4a1.png](https://img-blog.csdnimg.cn/img_convert/26bdd46477a4a2983debdf7bf2ede4a1.png)
![56698ef48d3d2ebbc17617b605b328f0.png](https://img-blog.csdnimg.cn/img_convert/56698ef48d3d2ebbc17617b605b328f0.png)