C#设置屏幕亮度Windows 7

scz*_*vos 7 c# windows-7 screen-brightness

我想通过我自己的屏幕亮度.因为Windows让我只能在有限的范围内调整.我想将显示从0到100%变暗并关闭/打开它.它应该是可以自动执行的窗口(Dim显示在:x分钟后/关闭显示后:x分钟).我尝试了谷歌发现的一些资源和类.但他们没有工作.

你有没有试过这个或者你能推荐我任何工作代码吗?

谢谢你的回应.

Dmi*_*ryG 16

您可以使用WmiSetBrightness方法:

using System.Management;
//...
static void SetBrightness(byte targetBrightness) {
    ManagementScope scope = new ManagementScope("root\\WMI");
    SelectQuery query = new SelectQuery("WmiMonitorBrightnessMethods");
    using(ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, query)) {
        using(ManagementObjectCollection objectCollection = searcher.Get()) {
            foreach(ManagementObject mObj in objectCollection) {
                mObj.InvokeMethod("WmiSetBrightness",
                    new Object[] { UInt32.MaxValue, targetBrightness });
                break;
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

有关更多详细信息,请查看WDDM监视器配置功能中的亮度控制