12

Как вручную запустить функцию "выключить дисплей" в Windows 7? Обычно это происходит автоматически, когда пользователь не перемещает мышь или нажимает какие-либо клавиши в течение определенного времени (раздел управления питанием панели управления).

Стороннее программное обеспечение или полноценное приложение - это хорошо, но я бы предпочел подход, родной для Windows 7. Как в командной строке или что-то.

4 ответа4

8

Этот скрипт, написанный на Powershell, может сделать эту работу для вас.

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

Примечание . Для этого совета требуется PowerShell 2.0 или выше.

6

Не нативное решение - требуется бесплатная внешняя программа Nircmd. Но это довольно полезно и не требует ничего, чтобы его использовать.

Чтобы выключить монитор:

nircmd.exe monitor off

Чтобы включить монитор:

nircmd.exe monitor on
3

Я пользуюсь Monitor Off Utility уже несколько лет. Я назначил комбинацию клавиш и нажимаю ее, если хочу отключить отображение.

-1

Пытаться

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

Возможно, вам придется зайти в панель управления и настроить экранную заставку на «нет».

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .