96 votes

Désactiver l'affichage dans Windows sur commande

Existe-t-il un moyen de désactiver l'affichage dans Windows (7), de préférence sans utiliser de logiciel supplémentaire ?

Powershell script fonctionne bien, mais laisse la fenêtre de ligne de commande après avoir allumé l'écran.

51voto

Jan Hančič Points 253

Sur un ordinateur portable, vous pouvez utiliser la combinaison de raccourcis clavier Fn+F7 (F7 peut différer selon le modèle d'ordinateur) et pour un ordinateur de bureau, vous pouvez toujours utiliser le bouton d'alimentation.

Avez-vous besoin d'autres spécifications telles que le réveil au mouvement de la souris ou autre chose ?

Vous pouvez toujours créer un raccourci et attribuer un raccourci clavier à un écran de veille noir, utilisez ce chemin :

%systemroot%\system32\scrnsave.scr /s

Cela n'éteindra pas votre écran mais le rendra complètement noir.

49voto

duykhoa Points 551

Quelques options supplémentaires :

  • Éteindre l'écran LCD - il suffit de placer l'exécutable sur votre bureau
  • NirCmd - vous devrez copier nircmd.exe dans votre répertoire système Windows, ou ajouter son emplacement à la variable d'environnement PATH. Ensuite, exécutez simplement nircmd monitor off à partir de la ligne de commande. Plus d'informations sur le lien.

38voto

ISW Points 4427

Vous pouvez utiliser Appel WinAPI SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, 2) donde HWND_BROADCAST = 0xFFFF , WM_SYSCOMMAND = 0x0112 y SC_MONITORPOWER = 0xF170 . その 2 signifie que l'écran est en train de s'éteindre.

Il existe plusieurs façons de passer l'appel :

  • Exécutable séparé. Vous pouvez le déclencher via un script, une ligne de commande, une fenêtre d'exécution, un raccourci ( *.lnk ), etc. Notez que les raccourcis peuvent être invoqués à l'aide d'un raccourci clavier . L'exécutable peut être écrit en C ou C++, ou via P/Invoke dans les langages .NET (C# ou PowerShell ), ou dans de nombreux autres langages qui disposent d'une interface en langue étrangère (par exemple, JNI en Java).

  • AutoHotkey script . Pour un non-programmeur, cette méthode est probablement plus simple. Faire des personnalisations nécessite toujours un peu de script. Ce script désactive le moniteur sur Win + M :

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

Notez le délai d'attente avant que le SendMessage dans le script d'AutoHotkey. Il donne à l'utilisateur une chance de relâcher les touches (au cas où leur relâchement réveillerait à nouveau le moniteur). Ne l'oubliez pas, même si vous faites l'appel à partir d'un script dans une autre langue.

Pour plus d'informations, voir la documentation de SendMessage fonction , WM_SYSCOMMAND message y AutoHotkey SendMessage . Il peut être intéressant de noter que depuis Windows 8, en utilisant la même méthode pour allumer le moniteur ne fonctionne pas, mais il existe une solution de contournement.

19voto

Jari Turkia Points 497

La ligne unique de Powershell serait :

(Add-Type -MemberDefinition "[DllImport(""user32.dll"")]`npublic static extern int SendMessage(int hWnd, int hMsg, int wParam, int lParam);" -Name "Win32SendMessage" -Namespace Win32Functions -PassThru)::SendMessage(0xffff, 0x0112, 0xF170, 2)

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X