Desativa a exibição no Windows no comando

64

Existe uma maneira de desligar o monitor no Windows (7), de preferência sem usar software adicional?

O script Powershell funciona bem, mas deixa a janela de linha de comando depois de ligar o monitor.

    
por unicoio 10.08.2011 / 13:40

3 respostas

39

Em um laptop, você pode usar a combinação de atalhos de teclado Fn + F7 (F7 pode variar dependendo do modelo do laptop) e, para uma área de trabalho, você sempre pode usar o botão liga / desliga.

Você precisa de outras especificações, como acordar no movimento do mouse ou outra coisa?

Você sempre pode criar um atalho e atribuir um atalho de teclado a um protetor de tela preto, use este caminho:

%systemroot%\system32\scrnsave.scr /s

Isso não desligará sua tela, mas ficará completamente preta

    
por 10.08.2011 / 13:59
29

Mais algumas opções:

  • Desligar o LCD - basta colocar o executável na sua área de trabalho
  • NirCmd - você precisará copiar o nircmd.exe para o diretório de sistema do Windows ou adicionar sua localização ao PATH variável de ambiente. Em seguida, basta executar nircmd monitor off na linha de comando. Mais informações no link.
por 19.09.2012 / 11:58
24

Você pode usar chamada WinAPI SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, 2) em que HWND_BROADCAST = 0xFFFF , WM_SYSCOMMAND = 0x0112 e SC_MONITORPOWER = 0xF170 . O 2 significa que a tela está sendo desligada.

Existem várias formas de fazer a chamada:

  • Executável separado. Você pode disparar através de um script, linha de comando, janela Executar, atalho ( *.lnk ), etc. Observe que atalhos podem ser invocados usando um atalho de teclado . O executável pode ser escrito em C ou C ++, ou via P / Invoke em linguagens .NET (C # ou PowerShell ), ou em muitas outras linguagens que possuem uma interface de idioma estrangeiro (por exemplo, JNI em Java).

  • AutoHotkey script . Para um não-programador, desta forma é provavelmente mais simples. Fazer personalizações ainda requer alguns scripts. Este script desativa o monitor no Win + M:

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

Observe o tempo limite antes da chamada SendMessage no script AutoHotkey. Dá ao usuário a chance de liberar as chaves (no caso de sua liberação acordar o monitor novamente). Não se esqueça disso mesmo ao fazer a chamada de um script em outro idioma.

Para mais informações, consulte a documentação de SendMessage function , WM_SYSCOMMAND message e AutoHotkey SendMessage . Pode ser interessante que, desde que o Windows 8, usando o mesmo método para ativar o monitor , não funcione, mas há um work- ao redor.

    
por 10.10.2012 / 17:52