通过控制台更改Windows上的屏幕亮度 [英] Changing the screen brightness on Windows via the console
问题描述
我正在尝试为Windows10编写一个简单的控制台应用程序来改变屏幕亮度。最终,我希望将此应用程序与AutoHotKey一起使用,但这是次要的。
在研究这一点时,我找到的几乎所有东西都提到了Android,这并没有帮助。我确实找到了关于用C更改屏幕亮度的this Q&A,但不幸的是,这是针对Linux的。
This archived thread包含一个脚本,该脚本(虽然看起来很老套)给人留下了很好的印象-但它
已弃用,在许多[系统]上,它不会返回完整的亮度设置数组。因此,如果您应该有8个级别,IOCTL_VIDEO_QUERY_DISPLAY_BIGHTY将只返回6,或者根本不返回。(作者:jkiel,1)
所以我更喜欢使用WmiMonitorBrightness
类(23)而不是IOCTL_VIDEO_QUERY_SUPPORTED_BRIGHTNESS
。它还提供了更精细的粒度,但我缺乏正确实现它的技能。
那么,如何在Windows 10上更改屏幕亮度?可能使用了前面提到的WmiMonitorBrightness
类?我不介意它是C应用程序、AutoHotKey脚本或其他我可以从控制台控制的东西。
推荐答案
寻找一个solution,我找到了this software,它在Windows10上非常吸引我。开发人员提供了C#源代码和编译的应用程序here。"您需要安装Microsoft.NET框架2.0或更高版本才能运行应用程序。"
此外,它还支持全粒度的屏幕亮度设置。
若要使用控制台应用,允许使用以下参数:
- 显示BrightnessConsole.exe 这将返回当前亮度级别。
- DisplayBrightnessConsole.exe-get级别 这将返回显示器接受的所有可能的亮度级别,并以新行分隔。
- DisplayBrightnessConsole.exe20(或其他一些亮度级别数字) 这会将显示器的亮度级别设置为给定的参数,在本例中为20。
该代码目前只能在单显示器系统上运行。如果您的系统有多个显示器,则它 只能在第一个(通常是主要的)显示器上工作。修改它以支持更多内容应该相当容易。
对使用Python的人可能有帮助-但在我的特定情况下没有帮助:
How can I detect brightness changes using Python and WMI on Windows 10?
这篇关于通过控制台更改Windows上的屏幕亮度的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!