Como disparar manualmente “desativar a exibição”? [duplicado]

12

Como faço para disparar manualmente a função "desligar a exibição" no Windows 7? Isso normalmente acontece automaticamente quando o usuário não move o mouse ou pressiona qualquer tecla por um determinado período de tempo (seção de gerenciamento de energia do painel de controle).

Software de terceiros ou um aplicativo completo é bom, mas eu prefiro uma abordagem nativa do Windows 7. Como uma linha de comando ou algo assim.

    
por user1306322 12.08.2013 / 04:51

4 respostas

8

Este script escrito em Powershell pode fazer isso funcionar para você.

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

Observação : essa dica exige o PowerShell 2.0 ou superior.

    
por 12.08.2013 / 04:58
6

Não é uma solução nativa - requer um programa externo gratuito Nircmd . Mas é bastante útil e não leva nada para usá-lo.

Para desativar o monitor:

nircmd.exe monitor off

Para ativar o monitor:

nircmd.exe monitor on
    
por 12.08.2013 / 05:07
3

Eu uso o Monitor Off Utility por vários anos. Eu atribuí uma combinação de atalhos e pressione-a se quiser desativar a exibição.

    
por 12.08.2013 / 06:18
-1

Tente

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

Talvez seja necessário acessar o Painel de Controle e configurar o protetor de tela como "nenhum".

    
por 13.08.2013 / 00:47

Tags