Wyłącz wyświetlanie w systemie Windows po wydaniu polecenia

67

Czy istnieje sposób na wyłączenie wyświetlacza w systemie Windows (7), najlepiej bez użycia dodatkowego oprogramowania?

Skrypt PowerShell działa dobrze, ale opuszcza okno wiersza polecenia po włączeniu wyświetlacza.

Unicoio
źródło
2
Masz już skrypt ps1? Zazwyczaj nie pozostawiają otwartego okna po uruchomieniu. Być może w skrypcie jest coś, co należy zmienić, aby okno się zamknęło?
Ƭᴇcʜιᴇ007
1
A może skorzystasz z wygaszacza pustego ekranu i skonfigurujesz ustawienia zasilania, aby wyłączyć monitor po pewnym okresie nieużywania?
uSlackr,
4
także jeśli wkleisz tutaj skrypt ps - przyda się nam, odwiedzającym
Ujjwal Singh,

Odpowiedzi:

41

Na laptopie możesz użyć kombinacji skrótów klawiaturowych Fn + F7 (F7 może się różnić w zależności od modelu laptopa), a na komputerze stacjonarnym zawsze możesz użyć przycisku zasilania.

Czy potrzebujesz innych specyfikacji, takich jak pobudka po ruchu myszy lub coś innego?

Zawsze możesz utworzyć skrót i przypisać skrót klawiaturowy do czarnego wygaszacza ekranu, użyj tej ścieżki:

%systemroot%\system32\scrnsave.scr /s

To nie wyłączy ekranu, ale sprawi, że będzie całkowicie czarny

Greg
źródło
1
Mam pulpit i o ile wiem, nie można ustawić przycisku zasilania, aby wyłączyć wyświetlacz. Obudź się przy ruchu myszy lub klawiaturze jest w porządku. Czarny wygaszacz ekranu pozostawia blask, który jest widoczny w nocy.
unicoio,
3
@unicoio Jeśli ma to wyłączyć ekran na całą noc, dlaczego nie użyć przycisku zasilania na samym ekranie?
Greg,
1
Doszedłem do tego pytania przez trzy całe kroki, dosłowne kroki. Twoja odpowiedź na wygaszacz ekranu była dokładnie tym, czego potrzebowałem. Mój telewizor LCD traktuje jednolity czarny kolor jako wyłączony.
Motes
1
Po co /sto działa, również bez przełącznika.
2
W systemie Windows 10 ekran staje się czarny, gdy scrnsave.scrzostanie wprowadzony w polu wyszukiwania lub w oknie dialogowym uruchamiania, ale wymaga /swykonania po uruchomieniu cmd.exe(bez niego pojawia się okno dialogowe informujące, że ten wygaszacz ekranu nie ma konfigurowalnych opcji).
Palec
32

Kilka innych opcji:

  • Wyłącz LCD - po prostu umieść plik wykonywalny na pulpicie
  • NirCmd - musisz skopiować nircmd.exe do katalogu systemowego Windows lub dodać jego lokalizację do zmiennej środowiskowej PATH. Następnie wystarczy uruchomić nircmd monitor offz wiersza poleceń. Więcej informacji pod linkiem.
duykhoa
źródło
10
+1 dla nircmd. Zestaw narzędzi Imho od Nir Sofer i Russinovich powinien zostać zainstalowany na każdym komputerze zaawansowanego użytkownika.
Smit Johnth,
Mam narzędzia od Russinovicha, ale po raz pierwszy mam serce Nira Sofera. Wygląda świetnie
Luigi Mackenzie C. Brito
25

Można użyć WinAPI zadzwonić SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, 2) gdzie HWND_BROADCAST = 0xFFFF, WM_SYSCOMMAND = 0x0112i SC_MONITORPOWER = 0xF170. 2Środki wyświetlacz jest wyłączony.

Istnieje kilka sposobów wykonania połączenia:

  • Oddzielny plik wykonywalny. Możesz go uruchomić za pomocą skryptu, wiersza polecenia, okna Uruchom, skrótu ( *.lnk) itp. Pamiętaj, że skróty można wywoływać za pomocą skrótu klawiaturowego . Plik wykonywalny może być napisany w C lub C ++, lub przez P / Invoke w językach .NET (C # lub PowerShell ) lub w wielu innych językach, które mają interfejs języka obcego (np. JNI w Javie).

  • Skrypt AutoHotkey . Dla osób niebędących programistami ten sposób jest prawdopodobnie prostszy. Wprowadzanie dostosowań nadal wymaga trochę skryptów. Ten skrypt wyłącza monitor w Win + M:

    #m::
    Sleep 1000
    SendMessage, 0x112, 0xF170, 2,, Program Manager
    return
    

Zanotuj limit czasu przed SendMessagewywołaniem w skrypcie AutoHotkey. Daje to użytkownikowi możliwość zwolnienia klawiszy (na wypadek, gdyby ich zwolnienie ponownie obudziło monitor). Nie zapominaj o tym nawet podczas wykonywania połączenia ze skryptu w innym języku.

Aby uzyskać więcej informacji, zobacz dokumentację SendMessagefunkcji , WM_SYSCOMMANDkomunikatu i AutoHotkeySendMessage . Interesujące może być to, że od Windows 8 użycie tej samej metody do włączenia monitora nie działa, ale istnieje obejście.

Ujjwal Singh
źródło