求C#版调节屏幕亮度的系统函数SetMonitorBrightness(位于Dxva2.dll)的例子
如题,谢谢大家。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
如题,谢谢大家。
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(1)
SetMonitorBrightness 现成的封装在这里:WPF 修改屏幕亮度 (lindexi.com)
我总结了三种.Net修改windows亮度的办法
使用 Dxva2.dll
Dxva的效果是调整显示器内置亮度,一般是支持显示器,所以笔记本可能就不支持这种方法。
使用 gdi32.dll
使用这个方法修改亮度实际上是在调整伽马值,虽然调整伽马会导致色彩偏,但确实是降低了亮度。这似乎属于英特尔驱动色彩管理,理应基本所有电脑都支持这种方法把。
我在dotnet5 下VS提示我需要引入 System.Drawing.Common 5.0.x 这个包
使用WMI,System.Management 模块
这种方法调整亮度,和笔记本、win平板上自带的亮度调整是一摸一样的,相当于改系统设置里的亮度,调整亮度时左上角会有亮度弹窗。所以只有显示器的主机设备应该是不支持的。
这种方法 + 第二种方法可以让屏幕亮度做到很低。
同上,需要引入 System.Management
详情代码请看 https://github.com/luojunyuan...
在MainWindow的code-behind中有一点点使用示例,因为代码不长建议看看 AdjustScreenBuilder.cs 的实现之后再使用。