Sim*_*ver 9 .net api winapi brightness
我在Sony笔记本电脑上安装了Windows Server 2008,亮度控制不起作用.我想写一个程序让我改变它.
目前我要做的是打开电源控制面板,点击高级设置,并通过如此多的UAC盒子进行战斗,任何看着我的人都必须认为我完全疯了.
我只想要一个简单的小程序来做,但我不知道要调用什么API
我在MSDN中查找了John Rudy与WmiSetBrightness的链接,并想出了这个:
ManagementClass mclass = new ManagementClass("WmiMonitorBrightnessMethods");
mclass.Scope = new ManagementScope(@"\\.\root\wmi");
ManagementObjectCollection instances = mclass.GetInstances();
// I assume you get one instance per monitor
foreach(ManagementObject instance in instances)
{
ulong timeout = 1; // in seconds
ushort brightness = 50; // in percent
object[] args = new object[] { timeout, brightness };
instance.InvokeMethod("WmiSetBrightness", args);
}
Run Code Online (Sandbox Code Playgroud)
注意:ManagementClass,ManagementObjectCollection并且ManagementObject全部实现IDisposable.您应该打电话Dispose()或使用" using"以避免资源泄漏.