如何在Windows上使用cmd查找屏幕亮度?

时间:2019-05-15 12:43:16

标签: batch-file cmd

我正在编写一个可以根据用户输入更改屏幕亮度的代码,但这是基于当前屏幕亮度的。是否可以从命令提示符处以整数形式获取屏幕亮度?

过去,我曾尝试通过使用cmd中的Power Config实用程序来执行此操作,但是它失败了。我尝试查找它,但没有为Windows找到任何东西。我找到的最接近的解决方案是针对IOS和Android。

尝试以下操作后迷路了:

C:\Users\[me]>powercfg /q | find "(Display brightness)"
    Power Setting GUID: aded5e82-b909-4619-9949-f5d71dac0bcb  (Display brightness)

C:\Users\[me]>

我希望返回“ 45”或“ 45%”之类的屏幕亮度值,但它却给了我一个显示ID。我该怎么办?

2 个答案:

答案 0 :(得分:2)

查询屏幕亮度

powershell -Command "Get-Ciminstance -Namespace root/WMI -ClassName WmiMonitorBrightness | Select -ExpandProperty "CurrentBrightness""

更改屏幕亮度

powershell -Command "(Get-WmiObject -Namespace root/WMI -Class WmiMonitorBrightnessMethods).WmiSetBrightness(1,<YOUR_BRIGHTNESS_INTEGER>)"

答案 1 :(得分:0)

你很近。这是您的操作方式。

powercfg的格式为:

POWERCFG -SETDCVALUEINDEX <SCHEME_GUID> <SUBGROUP_GUID> <SETTING_GUID> value

要查找您的信息:

对于<SCHEME_GUID>

powercfg /q | findstr Scheme
Power Scheme GUID: a3e508ca-5ab1-4c55-bee1-9edfb71ba0a4  (HP Optimized (recommended))

对于<SUBGROUP_GUID><SETTING_GUID>

powercfg /q | findstr Display
  Subgroup GUID: 7516b95f-f776-4464-8c53-06167f40ca19  (Display)
    Power Setting GUID: aded5e82-b909-4619-9949-f5d31dac0bcb  (Display brightness)

现在有了GUID值和亮度百分比-可以说 23%-像这样:

powercfg -SetDcValueIndex a3e508ca-5ab1-4c55-bee1-9edfb71ba0a4 7516b95f-f776-4464-8c53-06167f40ca19 aded5e82-b909-4619-9949-f5d31dac0bcb 23

编辑:要查看当前的水平,请执行以下操作:

使用GUID检查您当前的设置:aded5e82-b909-4619-9949-f5d71dac0bcb

只需让powercfg /q > current_settings.txt。将输出保存到current_settings.txt文件中,然后在其中搜索aded5e82-b909-4619-9949-f5d71dac0bcb

例如我的:

   Power Setting GUID: aded5e82-b909-4619-9949-f5d71dac0bcb  (Display brightness)
      Minimum Possible Setting: 0x00000000
      Maximum Possible Setting: 0x00000064
      Possible Settings increment: 0x00000001
      Possible Settings units: %
    Current AC Power Setting Index: 0x00000046
    Current DC Power Setting Index: 0x00000032

该值表示百分比(%)。可以增加1%(如您所见)。

甚至还有MSDN page about the brightness