我在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); }
注意:ManagementClass
,ManagementObjectCollection
并且ManagementObject
全部实现IDisposable
.您应该打电话Dispose()
或使用" using
"以避免资源泄漏.