namespace GHelper.Display { using System; using System.Diagnostics; using System.Management; public static class ScreenBrightness { 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 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); } } public static int Adjust(int delta) { int brightness = Get(); Debug.WriteLine(brightness); brightness = Math.Min(100, Math.Max(0, brightness + delta)); Set(brightness); return brightness; } } }