web-dev-qa-db-fra.com

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?

Le script Powershell fonctionne correctement, mais quitte la fenêtre de ligne de commande après avoir activé l'affichage.

65
unicoio

Sur un ordinateur portable, vous pouvez utiliser la combinaison de raccourcis clavier Fn + F7 (F7 peut varier en fonction du modèle), 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 lors du déplacement de la souris ou autre chose?

Vous pouvez toujours créer un raccourci et attribuer un raccourci clavier à un économiseur d'écran noir, utilisez ce chemin:

%systemroot%\system32\scrnsave.scr /s

Cela ne va pas éteindre votre écran mais le rendre complètement noir

40
Greg

Quelques autres options:

  • Désactiver LCD - placez simplement 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.
31
duykhoa

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

Il y a plusieurs façons de faire l'appel:

  • Exécutable séparé. Vous pouvez l'activer via un script, une ligne de commande, une fenêtre Exécuter, un raccourci (*.lnk), etc. Notez que les raccourcis peuvent être appelé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 ayant une interface en langue étrangère (par exemple, JNI en Java).

  • AutoHotkey script . Pour un non-programmeur, cette méthode est probablement plus simple. La personnalisation nécessite encore quelques scripts. Ce script désactive le moniteur sous Win + M:

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

Notez le délai d'attente avant l'appel SendMessage dans le script AutoHotkey. Cela donne à l’utilisateur une chance de relâcher les clés (au cas où leur relance réactiverait le moniteur). N'oubliez pas cela même lorsque vous appelez à partir d'un script dans une autre langue.

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

25
Ujjwal Singh