textarea不显示边框_拯救 windows 10 1809 ~ 1909 的混沌的窗口边框

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

效果:

07e298b366ab4054c651a662a53db6ba.png
浅色任务栏效果

272a47fe678ffac8c77716ce3e354ef4.png
深色任务栏效果

………………… 空虚的分割线下是原文 ……………………

最近自己的主力机终于被推送了 win10 1809。这个版本微软又双叒叕对窗口 UI 进行了一些修改:微软似乎已经意识到以前那个带一圈主题色的 1 epx 的窗口边框很丑,1809 开始默认窗口边框的颜色改成了灰色。

方向是正确,事情在向好的方向发展,Fluent Design System 推出之后,windows 的设计已经开始步入正轨:简化成亮和暗 2 个主题进化。

然而 …… 这一次的修改依然 Very Microsoft,充分展示了微软在从 win10 开始的咖喱味的奇葩“半成品”审美。

6fb1c87368620d1ad8eecaf9c4e0c441.png

30c4338c5983ae1c289dbb31f53f878e.png
在亮色模式下,边框非常深,与浅色背景形成了直插双眼的对比度,只有启用了了暗色主题,所有东西看起来才感觉比较和谐

e6f0b998d598429988753d4fa081356c.png
然而用了暗色主题就要看这个辣眼睛的资源管理器,微软似乎用了一种取巧的方式去实现黑色主题的资源管理器,因此他的窗口边框的颜色和标题栏(主题色)是强制绑定的,在使用浅色主题的时候,资源管理器的边框是独一无二的白色

1c4a64ec102be5ae0a22601491bd2030.png
Chrome 上边框带了一条奇奇怪怪的主题色,这个应该算谷歌的锅……不好好适配新系统?

进过各种排列组合之后,大致能够理解 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】”(勾选个性化选项里面“在一下区域显示主颜色”下面的“标题栏和窗口边框”)

资源管理器的边框颜色 = 默认标题栏颜色

总结起来变动如下:

  1. 默认窗口边框改成了深灰色;
  2. 彩色标题栏与彩色窗口边框绑定;
  3. UWP应用的系统主题色与【AccentColor】定义的色值解绑;
  4. 资源管理器出于不可描述的目的(大概是为了那个丑到发指的黑色模式),强制让窗口边框和标题栏颜色一致,导致默认窗口边框是白色(其实很好看)。

然后 chrome 的上边缘颜色也使用了一种鸡贼的实现方式:直接读取了DWM的【ColorizationColor】的色值自己画的上边缘

于是就会出现上面的奇葩情况:chrome 读到了被改成系统主题色的【ColorizationColor】,画了上边缘,然后左下右边缘的颜色又变成了深灰色)

拯救强迫症的修复方法:统一把边框改成白色

  1. 进入设置 > 个性化 > 颜色,先选一个自己喜欢的主题色,勾选“在以下区域显示主颜色”的“标题栏和窗口边框”
  2. 打开注册表:HKEY_CURRENT_USERSoftwareMicrosoftWindowsDWM,把【AccentColor】【ColorizationColor】和【ColorizationAfterglow】都改成“FFFFFFFF”
  3. 重启 DWM(比如注销登陆一次),enjoy!

上图,浅色深色主题的对比,效果接近完美

目前不完美的地方:每一次弹 UAC 之后,颜色会变回系统主题色,需要手动重启一次 DWM.exe

26bdd46477a4a2983debdf7bf2ede4a1.png

56698ef48d3d2ebbc17617b605b328f0.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值