yanchang
yanchang
发布于 2026-03-29 / 0 阅读
0
0

告别“瞎眼”与实体按键: Windows 外接显示器控制中心

碎碎念

相信很多用 Windows 笔记本外接显示器的小伙伴都有过这种抓狂的体验:到了晚上,想把屏幕调暗一点,结果发现 Windows 系统自带的亮度调节条根本管不到外接显示器! 没办法,只能伸长胳膊,去摸索显示器背面或底部那些难用的实体按键,一层层进菜单调亮度,白天还要再调回来。

为了彻底解决这个痛点,我决定自己动手,写了一个小巧、美观且功能强大的 Windows 桌面脚本——🖥️ 显示器控制中心 Pro,目前已经打包成了独立运行的 .exe 文件。今天就来和大家分享一下这个项目!

💡 核心功能亮点

1. ☀️ 真正的硬件级多屏亮度调节

市面上很多护眼软件只是在屏幕上盖一层“黑色的半透明蒙版”(软件级调光),其实屏幕背光依然刺眼。 我的工具利用了 DDC/CI 协议,能够直接读取并调节显示器的真实硬件亮度。无论你接了几个显示器,它都能分别识别,让你用鼠标拖拽滑块就能精准控制每一块屏幕。

2. 🌙 独立护眼模式(按显示器区分)

晚上敲代码/看文档时,防蓝光非常重要。我通过调用 Windows 底层的 GDI API (SetDeviceGammaRamp),实现了一个独立的护眼模式。

  • 支持独立控制: 你可以只把主屏调暖,副屏保持原色温用于看设计图。

  • 平滑护眼: 拖动滑块即可平滑降低屏幕色温,并且在完全退出软件时,会自动帮你把屏幕颜色恢复正常,不留残影。

3. 🚀 极致便捷的系统托盘集成

作为一款系统增强工具,不打扰是最好的体验。

  • 点击最小化/关闭: 软件会自动隐藏到系统托盘,不占用任务栏空间。

  • 右键快捷菜单: 不用打开主界面,直接在托盘图标上右键,就能快速将任意显示器的亮度或色温设定为 0%、25%、50%、75% 或 100%。

4. 🖥️ 一键投影切换

平时开会或者切屏,按 Win+P 选起来还是有些繁琐。我直接在界面底部集成了 Windows 原生的投影切换指令(调用 displayswitch.exe),一键实现“仅电脑屏幕”、“复制”、“扩展”和“仅外接屏幕”。

5. 🎨 现代感暗黑风 UI 设计

天下苦丑陋的 GUI 久矣!为了让它看起来像一个现代化的 Windows 11 应用,我用 PyQt5 进行了深度定制:

  • 无边框窗口 + 全局拖拽支持

  • 高级外阴影效果 (QGraphicsDropShadowEffect)

  • 定制的深色主题 (#121212 背景) 与圆角设计

  • 微软经典的悬浮红色关闭按钮

🛠️ 技术实现与原理解析

如果你对代码感兴趣,这里简单分享一下我的技术栈:

  • GUI 框架: PyQt5(完全自定义的 QSS 样式表让界面摆脱了传统的“老干部”风)。

  • 亮度控制核心: 借用了 screen_brightness_control 库,它封装了 WMI 和物理显示器 API,能跨屏幕直接对话硬件。

  • 系统级 API 调用: 使用 ctypes 调用了 user32.dll (用于枚举所有显示设备,匹配正确的设备名称) 和 gdi32.dll (用于通过 Gamma Ramp 曲线动态修改色温)。

结语

从发现痛点到编写脚本,再到打包成可执行文件,这个过程充满了解决问题的乐趣。现在,我再也不用伸手去按显示器的物理按键了,鼠标点两下,工作环境瞬间变得舒适。

如果你也受够了 Windows 多屏亮度的折磨,欢迎参考我的思路自己实现一个!


评论