Come attivare manualmente "Spegni display"? [duplicare]


13

Come posso attivare manualmente la funzione "Disattiva display" in Windows 7? Ciò si verifica normalmente quando l'utente non sposta il mouse o non preme alcun tasto per un certo periodo di tempo (sezione di risparmio energia del pannello di controllo).

Il software di terze parti o un'applicazione completa è carino, ma preferirei un approccio nativo a Windows 7. Come una riga di comando o qualcosa del genere.


Tempi inferiori al minuto per l'opzione di sospensione del monitor? Questo aiuterebbe quando si applica questo metodo: answers.microsoft.com/en-us/windows/forum/windows_7-desktop/...
Andrestand

Risposte:


8

Questo script scritto in Powershell può farlo funzionare per te.

# 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()

Nota : questo suggerimento richiede PowerShell 2.0 o versione successiva.


@ user1306322 Corretto. Lo screen saver non spegne il display.
lancia

@ user1306322 La risposta è stata aggiornata.
stderr,

Per la mancanza di una risposta migliore, accetto questo. Va notato che questo è utile solo quando non si interagisce con il computer. Cioè, per far spegnere lo schermo, è necessario smettere di toccare qualsiasi pulsante o mouse. L'impostazione di un timer per uno o due secondi prima di eseguire questo comando potrebbe essere di grande utilità.
user1306322

6

Soluzione non nativa: richiede il programma esterno gratuito Nircmd . Ma è piuttosto utile e non serve nulla per usarlo.

Per spegnere il monitor:

nircmd.exe monitor off

Per accendere il monitor:

nircmd.exe monitor on

4

Uso l' utilità di spegnimento del monitor per diversi anni. Ho assegnato una combinazione di scelta rapida e premerla se mi piace disabilitare il display.

inserisci qui la descrizione dell'immagine

inserisci qui la descrizione dell'immagine


Non sono sicuro del motivo per cui la risposta è stata sottoposta a downgrade. Neutralizzare l'effetto poiché l'utilità fa ciò che vuole OP
Ejaz

Davvero questo tipo di software non sta facendo qualcosa che un comando potrebbe fare? Nessun comando per modificare il timer di spegnimento?
Andrestand,

@Andrestand la risposta accettata mostra quale API viene utilizzata internamente dallo strumento.
magicandre1981,

-1

Provare

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

Potrebbe essere necessario accedere al Pannello di controllo e configurare lo screen saver su "nessuno".


Questo fa solo ciò che LockWorkStationsuggerisce il nome del comando: blocca la sessione dell'utente corrente. Lo stesso effetto può essere ottenuto premendo [Win] + [L].
user1306322
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.