mirror of
https://github.com/jkocon/g-helper.git
synced 2026-02-23 13:00:52 +01:00
47 lines
1.3 KiB
C#
47 lines
1.3 KiB
C#
namespace GHelper
|
|
{
|
|
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 void Adjust(int delta)
|
|
{
|
|
int brightness = Get();
|
|
Debug.WriteLine(brightness);
|
|
brightness = Math.Min(100, Math.Max(0, brightness + delta));
|
|
Set(brightness);
|
|
}
|
|
|
|
}
|
|
}
|