.net - 我将使用什么API调用来更改笔记本电脑(.NET)的亮度?

标签 .net winapi api brightness

我在索尼笔记本电脑上安装了Windows Server 2008,并且亮度控制不起作用。我想编写一个程序来允许我对其进行更改。

当前,我需要做的是打开电源控制面板,单击高级设置,并通过如此多的UAC框进行操作,以至于任何人看着我必须认为我完全疯了。

我只是想要一个简单的小程序来做,但是我不知道要调用什么API

最佳答案

我在MSDN中查询了John RudyWmiSetBrightness的链接,并想到了:

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);
}

注意:ManagementClassManagementObjectCollectionManagementObject都实现IDisposable。您应该调用Dispose()或使用“using”,以避免资源泄漏。

关于.net - 我将使用什么API调用来更改笔记本电脑(.NET)的亮度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/373297/

相关文章:

javascript - 非常简单的 API 调用,不会返回任何内容

.net - 如何在 Azure Webfarm 中创建分布式共享事务内存?

c# - 使用 HttpClient 进行异步文件下载时的错误检查

c++ - 在图片控件中使用 SS_REALSIZECONTROL 时出现语法错误

java - 应为 BEGIN_OBJECT,但在第 5 行第 1 列路径$ 处为字符串。我收到此错误,结果发现任何解决方案都不起作用

php - OAuth 2 适用于我拥有的移动客户端

c# - 是否可以在 C# 中创建一个真正的弱键字典?

.net - 数字签名后托管 Windows 服务启动缓慢

使用 FindFirstFile/FindNextFile 删除文件夹中所有文件的 C++ 代码

c - 选择文件时子窗口的 Windows 消息循环中出现多余(错误)消息