gpt4 book ai didi

c# - 如何从 C# 查询 GetMonitorBrightness

转载 作者:可可西里 更新时间:2023-11-01 14:04:25 28 4
gpt4 key购买 nike

GetMonitorBrightness 如何实现 http://msdn.microsoft.com/en-us/library/ms775205.aspx工作?有人可以给我一个在 C# 中调用此代码的实际工作实现吗?

我正在尝试检索我的笔记本电脑支持的允许亮度级别。

我有以下工作代码,可将亮度设置为 1 到 ~150。但我正在寻找允许的输入值(最小最大值)。

    static void SetBrightness(byte targetBrightness)
{
ManagementScope scope = new ManagementScope("root\\WMI");
SelectQuery query = new SelectQuery("WmiMonitorBrightnessMethods");
using (ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, query))
{
using (ManagementObjectCollection objectCollection = searcher.Get())
{
foreach (ManagementObject mObj in objectCollection)
{
mObj.InvokeMethod("WmiSetBrightness",
new Object[] { UInt32.MaxValue, targetBrightness });
break;
}
}
}
}

最佳答案

虽然应该可以使用 Interop,但也可以通过 WMI 使用此功能。稍微更改我的原始代码会导致以下代码应该起作用:

 ManagementScope scope;
SelectQuery query;

scope = new ManagementScope("root\\WMI");
query = new SelectQuery("SELECT * FROM WmiMonitorBrightness");

using (ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, query))
{
using (ManagementObjectCollection objectCollection = searcher.Get())
{
foreach (ManagementObject mObj in objectCollection)
{
Console.WriteLine(mObj.ClassPath);
foreach (var item in mObj.Properties)
{
Console.WriteLine(item.Name + " " +item.Value.ToString());
if(item.Name =="CurrentBrightness")
//Do something with CurrentBrightness
}
}
}
}

现在我真的很好奇如何处理非笔记本电脑屏幕等“特殊”情况,以及它们是否实现了任何影响亮度的方法。

关于c# - 如何从 C# 查询 GetMonitorBrightness,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18083982/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com