Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows WmiMonitorBrightness返回不正确的亮度值_Windows_Wmi_Brightness - Fatal编程技术网

Windows WmiMonitorBrightness返回不正确的亮度值

Windows WmiMonitorBrightness返回不正确的亮度值,windows,wmi,brightness,Windows,Wmi,Brightness,我正在开发一个Windows10.Net应用程序,它允许用户设置/调整系统屏幕亮度。作为这项工作的一部分,我需要能够查询当前系统屏幕亮度设置为什么(如果打开Windows设置并导航到system->Display以查看显示当前系统亮度的滑块控件,您将看到什么)。为了完成这两个任务,更新亮度和查询亮度,我分别使用WMI WmiMonitorBrightness方法和WmiMonitorBrightness类 使用WmiMonitorBrightnessMethods类的WmiSetBrightne

我正在开发一个Windows10.Net应用程序,它允许用户设置/调整系统屏幕亮度。作为这项工作的一部分,我需要能够查询当前系统屏幕亮度设置为什么(如果打开Windows设置并导航到system->Display以查看显示当前系统亮度的滑块控件,您将看到什么)。为了完成这两个任务,更新亮度和查询亮度,我分别使用WMI WmiMonitorBrightness方法和WmiMonitorBrightness类

使用WmiMonitorBrightnessMethods类的WmiSetBrightness方法设置亮度似乎总是可以正常工作。但是,使用WmiMonitorBrightness类查询系统亮度是我遇到问题的地方。问题是,当我使用WmiSetBrightness将亮度设置为特定值时,在通过Windows操作系统UI确认时,我可以看到它工作正常,但当我查询刚刚使用WmiMonitorBrightness所做的更改时,我随机获得了一个不正确的值

# Example of WmiMonitorBrightness that returns the incorrect/unexpected value
Get-Ciminstance -Namespace root/WMI -ClassName WmiMonitorBrightness
例如,在我的测试中,我使用WmiSetBrightness将亮度设置为95。然后,当我使用WmiMonitorBrightness查询当前亮度时,它返回的亮度值为93(为什么会返回这个意外值?)。我还确认WmiSetBrightness返回机器上有1-100个亮度级别,因此将亮度设置为95似乎可以正常工作

为了包含更多信息,在我的.Net/C#使用WmiMonitorBrightness查询亮度的代码中没有出现这个问题,它似乎是WmiMonitorBrightness本身的问题。我之所以这样说,是因为我可以在PowerShell中使用相同的WMI类运行命令来更新和查询亮度,而我前面描述的示例场景也是这样。如果我在PowerShell中使用WmiSetBrightness将亮度设置为95,则在PowerShell中使用WmiMonitorBrightness查询当前亮度会返回不正确的值

# Example of WmiMonitorBrightness that returns the incorrect/unexpected value
Get-Ciminstance -Namespace root/WMI -ClassName WmiMonitorBrightness
这似乎只是某些机器上的问题。在我拥有的HP笔记本电脑上运行这些PowerShell命令时,WmiMonitorBrightness查询命令每次都工作正常,并返回预期值。但是,当我在我拥有的两台不同的Surface笔记本电脑(都运行不同的Windows OS版本)上执行相同的操作时,它会返回意外/不正确的值

# Example of WmiMonitorBrightness that returns the incorrect/unexpected value
Get-Ciminstance -Namespace root/WMI -ClassName WmiMonitorBrightness
有人知道为什么使用WmiMonitorBrightness查询当前系统亮度会返回意外值吗