Comment déclencher manuellement «désactiver l'affichage»? [dupliquer]

13

Comment déclencher manuellement la fonction «désactiver l'affichage» dans Windows 7? Cela se produit normalement automatiquement lorsque l'utilisateur ne déplace pas la souris ou n'appuie sur aucune touche pendant un certain temps (section de gestion de l'alimentation du panneau de commande).

Un logiciel tiers ou une application complète est bien, mais je préférerais une approche native de Windows 7. Comme une ligne de commande ou quelque chose.

user1306322
la source
Temps en dessous de la minute pour l'option de veille du moniteur? Cela aiderait lors de l'application de cette méthode: answers.microsoft.com/en-us/windows/forum/windows_7-desktop/…
Andrestand

Réponses:

8

Ce script écrit en Powershell peut faire ce travail pour vous.

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

Remarque : cette astuce nécessite PowerShell 2.0 ou supérieur.

stderr
la source
@ user1306322 Correct. L'économiseur d'écran ne désactive pas l'affichage.
lance
@ user1306322 La réponse a été mise à jour.
stderr
Faute d'une meilleure réponse, j'accepte celle-ci. Il convient de noter que cela n'est utile que lorsque vous n'interagissez pas avec l'ordinateur. Autrement dit, pour que l'écran reste éteint, vous devez arrêter de toucher les boutons ou la souris. La configuration d'une minuterie pendant une seconde ou deux avant d'exécuter cette commande peut être très utile.
user1306322
6

Solution non native - nécessite un programme externe gratuit Nircmd . Mais c'est assez utile et ne prend rien pour l'utiliser.

Pour éteindre le moniteur:

nircmd.exe monitor off

Pour allumer le moniteur:

nircmd.exe monitor on
VL-80
la source
4

J'utilise l' utilitaire Monitor Off depuis plusieurs années. J'ai attribué une combinaison de raccourcis et appuyez dessus si je souhaite désactiver l'affichage.

entrez la description de l'image ici

entrez la description de l'image ici

magicandre1981
la source
Je ne sais pas pourquoi la réponse a été rejetée. Neutraliser l'effet puisque l'utilitaire fait ce que veut OP
Ejaz
Ce type de logiciel ne fait-il pas vraiment quelque chose qu'une commande pourrait faire? Aucune commande pour modifier la minuterie d'arrêt?
Andrestand
@Andrest et la réponse acceptée vous montre quelle API est utilisée en interne par l'outil.
magicandre1981
-1

Essayer

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

Vous devrez peut-être accéder au Panneau de configuration et configurer votre économiseur d'écran pour qu'il soit «aucun».

Scott
la source
Cela ne fait que ce que le LockWorkStationnom de la commande suggère - verrouille la session de l'utilisateur actuel. Le même effet peut être obtenu en appuyant sur [Win] + [L].
user1306322