Czy mogę wymusić większą jasność ekranu z wiersza polecenia systemu Windows


13

Mam laptopa Sony Vaio z systemem Windows 7. Wiem, że mogę regulować jasność ekranu z panelu sterowania, ale chcę zmusić go, aby był jeszcze jaśniejszy. Czy istnieje hack lub sposób na zrobienie tego z wiersza poleceń?


Czy kontrola jasności Fn + <key> nie działa?
kobaltz

Istnieje powercfgpolecenie, które pozwala zmienić wartości wskaźnika jasności, ale jest ono używane do określonych motywów (np. -SETACVALUEINDEXJest używane, gdy komputer jest podłączony). Nie wierzę, że tego właśnie szukasz ...
Rob

Chyba nie ma żadnych parametrów powercfg.cpl... dobrego pytania +1. Zastanawiałem się nad tym, jak dostosować prędkość wentylatora za pomocą wiersza polecenia.
Rob

Twój tytuł wydaje się zadawać inne pytanie niż w opisie - jeśli szukasz sposobu na zwiększenie jasności ekranu, możesz tu zhakować
Dave

Chciałbym użyć czegoś takiego jak Monitor procesu i sprawdzić, czy jakiekolwiek ustawienia rejestru zostały zmienione podczas korzystania z apletu panelu sterowania. możesz następnie użyć regdo odczytu / ustawienia kluczy rejestru z wiersza poleceń
SeanC

Odpowiedzi:


16

OK, więc oto co zrobiłem:

Dwa polecenia do ustawiania dowolnych ustawień zasilania to powercfg -SetDcValueIndexi powercfg -SetAcValueIndex, zależnie od tego, czy chcesz zmienić ustawienie w przypadku baterii lub zasilania sieciowego. To polecenie ma format (bez rozróżniania wielkości liter):

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

Potrzebujemy trzech identyfikatorów GUID. Znajdź je, uruchamiając powercfg -q. Wyjście wygląda następująco (będzie w języku twojego systemu):

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

...

Teraz musisz znaleźć i zapisać:

  • bieżący schemat GUID - znajduje się w pierwszej linii.
  • podgrupa GUID dla wyświetlacza - patrz w dół Display
  • ustawianie GUID jasności - patrz w dół Display Brightness

Teraz umieść trzy wartości GUID plus pożądaną jasność w procentach - powiedzmy 10% - w następujący sposób:

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

I ... nic mi się nie stało! Jasność się nie zmieniła! Wykonując powercfg /qsprawdziłem, czy rzeczywiście moja nowa wartość została poprawnie zapisana. Poprosiłem więc, aby moje ustawienie mocy było aktywne (mimo że było aktywne przez cały czas):

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

I voila! moja jasność ekranu przygaszona do 10%!


Miły pierwszy post!
slm

3
Świetny post tutaj. Pewne wyjaśnienie: w języku angielskim obecny schemat jest nazywany Power Scheme, podgrupa GUID dla ustawień ekranu jest oznaczona, Displaya ustawienie GUID dla jasności jest oznaczone Display brightness. Następujące polecenie otrzyma wszystkie niezbędne dane:powercfg -q | find "Power Scheme GUID" & powercfg -q | find "(Display)" & powercfg -q | find "(Display brightness)"
Iszi

Próbowałem tego i to nie działało. Może trzeba go uruchomić z wiersza polecenia z podwyższonym poziomem uprawnień?
Iszi

Myślę, że wymyśliłem swój problem. Wygląda na to, że to nie zadziała, jeśli twoje ustawienia są zablokowane przez GPO.
Iszi

3
W Windows 7 i nowszych są aliasy dla większości GUIDÓW, możesz użyć /Queryopcji pokazanej w poście i poszukać Friendly name. Możesz także użyć /Aliasesdo wyświetlenia większości aliasów w ładnej tabeli hierarchicznej. Niestety nie ma aliasu dla jasności, tylko dla podsekcji wideo. Istnieją również przyjazne nazwy dla wbudowanych schematów, w szczególności bieżący aktywny schemat SCHEME_CURRENT i wszystkie schematy SCHEME_ALL (nieudokumentowane?). Tak więc powyższe polecenie powercfg -setdcvalueindex SCHEME_CURRENT SUB_VIDEO aded5e82-b909-4619-9949-f5d71dac0bcb 10
brzmi

9

Zrobiłem plik wsadowy, który działa w języku angielskim, który używa powyższej metody. 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%

Działa, ale tylko w skali 0-100. Nie może obniżyć ani zwiększyć jasności, jaką diody LED są w stanie rozczarować.


Cześć @ user2089636, czy możesz udostępnić nietoperz w OneDrive, Mega lub innym udostępnionym serwerze? Link, który opublikowałeś jest nieaktualny (Twoja witryna jest offline)
Mirko Cianfarani

Dotyczy to w szczególności ustawienia, kiedy laptop jest zasilany z baterii: -SetDcValueIndexa nie -SetAcValueIndex(przy zasilaniu adaptera). Oto jak wybrać wartość dla obecnej sytuacji: 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%.
Alexander Gelbukh
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.