using System; using System.Collections.Generic; using System.Linq; using System.Management; using System.Text; using System.Threading.Tasks; namespace PowerControl.Helpers { public static class WindowsSettingsBrightnessController { public static int Get() { using var mclass = new ManagementClass("WmiMonitorBrightness") { Scope = new ManagementScope(@"\\.\root\wmi") }; using var instances = mclass.GetInstances(); foreach (ManagementObject instance in instances) { return (byte)instance.GetPropertyValue("CurrentBrightness"); } return -1; } public static int Get10() { return (int)(Math.Round(Get() / 10.0) * 10.0); } public static void Set(int brightness) { using var mclass = new ManagementClass("WmiMonitorBrightnessMethods") { Scope = new ManagementScope(@"\\.\root\wmi") }; using var instances = mclass.GetInstances(); var args = new object[] { 1, brightness }; foreach (ManagementObject instance in instances) { instance.InvokeMethod("WmiSetBrightness", args); } } } }