Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Screen Brightness Adapter

一个基于 WinUI 3 的轻量托盘程序:读取笔记本内置屏幕亮度,用一次线性函数映射后,通过 DDC/CI VCP 0x10 设置外接显示器亮度。

运行要求

  • Windows 10 1809(17763)或 Windows 11
  • .NET 8 SDK
  • 支持 DDC/CI 的外接显示器;在显示器 OSD 中打开 DDC/CI

构建和运行

dotnet restore
dotnet build -c Debug -p:Platform=x64
dotnet run -c Debug -p:Platform=x64

发布可直接运行的目录:

dotnet publish -c Release -p:Platform=x64 -p:PublishSingleFile=false

生成结果位于 bin\x64\Release\net8.0-windows10.0.19041.0\publish。

程序启动后会显示 Mica 深色设置窗口并在通知区域创建太阳亮度图标。关闭窗口会隐藏到托盘,双击图标或右键“打开设置”可恢复;右键“退出”才会结束进程。托盘右键菜单直接使用 Windows 原生菜单,外观、阴影、圆角和缩放由 Windows 11 管理。悬停托盘图标时,Windows 原生提示气泡会显示笔记本和外接显示器的当前亮度。项目启用了 Windows App SDK self-contained 模式,发布目录会携带所需运行时。

默认映射为 30%..100% -> 0%..100%,输入范围外的值会钳制到 0 或 100。亮度变化优先通过 WmiMonitorBrightnessEvent 事件接收;不提供该事件的固件使用 5 秒一次的低频兜底读取。外接显示器使用 smoothstep 曲线平滑过渡,动画时长可在 0..500 ms 间调节,步进 10 ms,默认 200 ms。

映射范围、动画时长、自动同步和开机启动选项会保存到当前用户注册表;开机启动使用 --minimized 参数,启动后直接驻留托盘。

设备识别

程序通过 Windows dxva2.dll 枚举支持 DDC/CI 的物理显示器,并读取 VCP 代码 0x10。因此附件中显示为 DDC/CI (HL) 的显示器可以直接使用;如果 OSD 关闭 DDC/CI,列表会提示未找到可控制的显示器。

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages