我在索尼笔记本电脑上安装了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
”,以避免资源泄漏。
关于.net - 我将使用什么API调用来更改笔记本电脑(.NET)的亮度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/373297/