Jak ręcznie uruchomić „wyłączenie wyświetlacza”? [duplikować]


13

Jak ręcznie uruchomić funkcję „wyłącz wyświetlacz” w systemie Windows 7? Zwykle dzieje się to automatycznie, gdy użytkownik nie porusza myszą lub nie naciska żadnego klawisza przez określony czas (sekcja zarządzania energią w panelu sterowania).

Oprogramowanie innych firm lub pełna wersja aplikacji jest fajna, ale wolę podejście natywne dla systemu Windows 7. Jak linia poleceń czy coś takiego.


Czasy poniżej minuty dla opcji uśpienia monitora? Które pomogłoby przy stosowaniu tej metody: answers.microsoft.com/en-us/windows/forum/windows_7-desktop/...
Andrestand

Odpowiedzi:


8

Ten skrypt napisany w Powershell może sprawić, że to zadziała dla Ciebie.

# Turn display off by calling WindowsAPI.

# SendMessage(HWND_BROADCAST,WM_SYSCOMMAND, SC_MONITORPOWER, POWER_OFF)
# HWND_BROADCAST  0xffff
# WM_SYSCOMMAND   0x0112
# SC_MONITORPOWER 0xf170
# POWER_OFF       0x0002

Add-Type -TypeDefinition '
using System;
using System.Runtime.InteropServices;

namespace Utilities {
   public static class Display
   {
      [DllImport("user32.dll", CharSet = CharSet.Auto)]
      private static extern IntPtr SendMessage(
         IntPtr hWnd,
         UInt32 Msg,
         IntPtr wParam,
         IntPtr lParam
      );

      public static void PowerOff ()
      {
         SendMessage(
            (IntPtr)0xffff, // HWND_BROADCAST
            0x0112,         // WM_SYSCOMMAND
            (IntPtr)0xf170, // SC_MONITORPOWER
            (IntPtr)0x0002  // POWER_OFF
         );
      }
   }
}
'

[Utilities.Display]::PowerOff()

Uwaga : ta porada wymaga programu PowerShell 2.0 lub nowszego.


@ user1306322 Prawidłowo. Wygaszacz ekranu nie wyłącza wyświetlacza.
lanca

@ user1306322 Odpowiedź została zaktualizowana.
stderr

Z powodu braku lepszej odpowiedzi akceptuję tę. Należy zauważyć, że jest to przydatne tylko wtedy, gdy nie wchodzisz w interakcje z komputerem. Oznacza to, że aby ekran był wyłączony, musisz przestać dotykać przycisków lub myszy. Bardzo przydatne może być ustawienie timera na sekundę lub dwie przed wykonaniem tego polecenia.
user1306322,

Ustawienie tego w .batpliku i podwójne kliknięcie nie działa. Albo interfejs API się zmienił, albo nie wiem, jak to zrobić. Jaka jest oczekiwana metoda „uruchomienia” dla tego skryptu?
Xavi Montero

6

Rozwiązanie inne niż rodzime - wymaga bezpłatnego zewnętrznego programu Nircmd . Ale jest dość użyteczny i nie wymaga niczego, aby go użyć.

Aby wyłączyć monitor:

nircmd.exe monitor off

Aby włączyć monitor:

nircmd.exe monitor on

4

Używam narzędzia Monitor Off od kilku lat. Przypisałem kombinację skrótów i naciśnij ją, jeśli chcę wyłączyć wyświetlanie.

wprowadź opis zdjęcia tutaj

wprowadź opis zdjęcia tutaj


Nie jestem pewien, dlaczego odpowiedź została odrzucona. Zneutralizowanie efektu, ponieważ narzędzie robi to, czego chce OP
Ejaz

Czy tak naprawdę oprogramowanie tego typu nie robi czegoś, co można zrobić za pomocą polecenia? Brak polecenia edycji timera wyłączania?
Andrestand,

@Rozumiem zaakceptowana odpowiedź pokazuje, który interfejs API jest wykorzystywany wewnętrznie przez narzędzie.
magicandre1981

-1

Próbować

%SystemRoot%\System32\RUNDLL32 %SystemRoot%\System32\USER32.DLL,LockWorkStation

Może być konieczne przejście do Panelu sterowania i skonfigurowanie wygaszacza ekranu na „brak”.


Robi to tylko to, co LockWorkStationsugeruje nazwa polecenia - blokuje sesję bieżącego użytkownika. Ten sam efekt można uzyskać, naciskając [Win] + [L].
user1306322,
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.