Можно ли принудительно увеличить яркость экрана из командной строки Windows?


13

У меня есть ноутбук Sony Vaio, и он работает под управлением Windows 7. Я знаю, что могу настроить яркость экрана с панели управления, но я хочу, чтобы он был еще ярче. Есть ли взлом или способ сделать это из командной строки?


У вас не работают регуляторы яркости Fn + <key>?
Кобальц

Есть powercfgкоманда, которая позволяет изменять значения индекса яркости, но она используется для определенных тем (например, -SETACVALUEINDEXиспользуется, когда компьютер подключен). Я не верю, что это то, что вы ищете ...
Роб

Я думаю, что нет никаких параметров для powercfg.cpl... хорошего вопроса +1. Мне было интересно то же самое о регулировке скорости вентилятора через командную строку.
Роб

Похоже, ваш заголовок задает другой вопрос, нежели описание - если вы только что нашли
Дэйв

Я хотел бы использовать что-то вроде Process Monitor и посмотреть, были ли какие-либо параметры реестра изменены при использовании апплета панели управления. Затем вы можете использовать regдля чтения / установки
разделов

Ответы:


16

Итак, вот что я сделал:

Две команды для установки любых настроек электропитания: powercfg -SetDcValueIndexи powercfg -SetAcValueIndex, в зависимости от того, хотите ли вы изменить настройки при работе от батарей или от сети переменного тока. Эта команда имеет формат (без учета регистра):

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

Тогда нам нужно три GUID. Найти их, запустив powercfg -q. Вывод выглядит так (он будет на языке вашей системы):

D:\Users\212579988>powercfg /q
Power Scheme GUID: 381b4222-f694-41f0-9685-ff5bb260df2e  (Balanced)
  Subgroup GUID: fea3413e-7e05-4911-9a71-700331f1c294  (Settings belonging to no subgroup)
    Power Setting GUID: 0e796bdb-100d-47d6-a2d5-f7d2daa51f51  (Require a password on wakeup)
      Possible Setting Index: 000
      Possible Setting Friendly Name: No
      Possible Setting Index: 001
      Possible Setting Friendly Name: Yes
    Current AC Power Setting Index: 0x00000001
    Current DC Power Setting Index: 0x00000001

  Subgroup GUID: 0012ee47-9041-4b5d-9b77-535fba8b1442  (Hard disk)
    Power Setting GUID: 6738e2c4-e8a5-4a42-b16a-e040e769756e  (Turn off hard disk after)
      Minimum Possible Setting: 0x00000000
      Maximum Possible Setting: 0xffffffff
      Possible Settings increment: 0x00000001
      Possible Settings units: Seconds
    Current AC Power Setting Index: 0x00000000
    Current DC Power Setting Index: 0x00000000

...

  Subgroup GUID: 7516b95f-f776-4464-8c53-06167f40cc99  (Display)
    Power Setting GUID: 17aaa29b-8b43-4b94-aafe-35f64daaf1ee  (Dim display after)
      Minimum Possible Setting: 0x00000000
      Maximum Possible Setting: 0xffffffff
      Possible Settings increment: 0x00000001
      Possible Settings units: Seconds
    Current AC Power Setting Index: 0x0000012c
    Current DC Power Setting Index: 0x00000078

    Power Setting GUID: 3c0bc021-c8a8-4e07-a973-6b14cbcb2b7e  (Turn off display after)
      Minimum Possible Setting: 0x00000000
      Maximum Possible Setting: 0xffffffff
      Possible Settings increment: 0x00000001
      Possible Settings units: Seconds
    Current AC Power Setting Index: 0x00000258
    Current DC Power Setting Index: 0x0000012c

    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: 0x00000064
    Current DC Power Setting Index: 0x0000000c

...

Теперь вам нужно найти и записать:

  • Текущая схема GUID - это в первой строке.
  • GUID подгруппы для отображения - смотрите вниз для Display
  • установка GUID для яркости - смотрите вниз Display Brightness

Теперь поместите три значения GUID плюс желаемую яркость в процентах - скажем, 10% - вот так:

C:\Users\Mike>powercfg -SetDcValueIndex 381b4222-f694-41f0-9685-ff5bb260df2e 7516b95f-f776-4464-8c53-06167f40cc99 aded5e82-b909-4619-9949-f5d71dac0bcb 10 

И ... ничего не случилось со мной! Яркость не изменилась! Выполнив, powercfg /qя проверил, что действительно мое новое значение было сохранено правильно. Поэтому я просто попросил активировать свои настройки мощности (даже если они были активны все время):

C:\Users\Mike>powercfg -S 381b4222-f694-41f0-9685-ff5bb260df2e

И вуаля! у меня яркость экрана потускнела до 10%!


Хороший первый пост!
SLM

3
Отличный пост здесь. Некоторые пояснения: для английского языка текущая схема называется Power SchemeGUID подгруппы для настроек экрана, Displayа GUID для настройки яркости - Display brightness. Следующая команда получит все необходимые данные для вас:powercfg -q | find "Power Scheme GUID" & powercfg -q | find "(Display)" & powercfg -q | find "(Display brightness)"
Iszi

Я попробовал это, и это не сработало. Может быть, его нужно запустить из командной строки с повышенными правами?
Иззи

Я думаю, что я понял свою проблему. Похоже, это не будет работать, если ваши настройки заблокированы GPO.
Иззи

3
В Windows 7 и новее есть псевдонимы для большинства GUIDS, вы можете использовать /Queryопцию, как показано в посте, и искать Friendly name. И вы также можете использовать, /Aliasesчтобы перечислить большинство псевдонимов в хорошей иерархической таблице. К сожалению, нет псевдонима для яркости, только для видео подраздела. Существуют также понятные имена для встроенных схем, в частности, текущая активная схема SCHEME_CURRENT и все схемы SCHEME_ALL (недокументированные?). Таким образом, приведенная выше команда становится:powercfg -setdcvalueindex SCHEME_CURRENT SUB_VIDEO aded5e82-b909-4619-9949-f5d71dac0bcb 10
nohwnd

9

Я сделал командный файл, который работает для английского языка, который использует метод выше. http://aarongiera.com/change_brightness.bat

for /f "tokens=*" %%i in ('powercfg -q ^| find "Power Scheme GUID"') do set pwrSchm=%%i
set pwrSchm=%pwrSchm:~19,36%

for /f "tokens=*" %%i in ('powercfg -q ^| find "(Display)"') do set dsply=%%i
set dsply=%dsply:~15,36%

for /f "tokens=*" %%i in ('powercfg -q ^| find "(Display brightness)"') do set brtnss=%%i
set brtnss=%brtnss:~20,36%

set /P brightness=Enter % brightness:  %=%

powercfg -SetDcValueIndex %pwrSchm% %dsply% %brtnss% %brightness%
powercfg -S %pwrSchm%

Это работает, но только в масштабе 0-100. Это не может быть ни ниже, ни выше яркости, на которую способны разочаровывающие светодиоды.


Привет @ user2089636, пожалуйста, вы можете поделиться битой на OneDrive или Мега или другой общий сервер? Ссылка, которую вы разместили, устарела (ваш сайт не в сети)
Мирко

При этом специально используется настройка, когда ноутбук работает от батареи: -SetDcValueIndexа не -SetAcValueIndex(от питания адаптера). Вот как выбрать значение для текущей ситуации: set AcDc=Dc WMIC /NameSpace:\\root\WMI Path BatteryStatus Get PowerOnline | find /i "true" > nul && set AcDc=Ac powercfg -Set%AcDc%ValueIndex SCHEME_CURRENT SUB_VIDEO %brtnss% %brightness%.
Александр Гельбух
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.