如何手动触发“关闭显示”?

use*_*322 15 windows-7

如何在 Windows 7 中手动触发“关闭显示”功能?当用户在一段时间内(控制面板的电源管理部分)没有移动鼠标或按下任何键时,这通常会自动发生。

第三方软件或完整的应用程序很好,但我更喜欢 Windows 7 原生的方法。比如命令行或其他东西。

std*_*err 11

这个用 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()
Run Code Online (Sandbox Code Playgroud)

注意:此提示需要 PowerShell 2.0 或更高版本。


VL-*_*-80 7

非本地解决方案 - 需要免费的外部程序Nircmd。但它非常有用,不需要什么就可以使用它。

要关闭显示器:

nircmd.exe monitor off
Run Code Online (Sandbox Code Playgroud)

打开显示器:

nircmd.exe monitor on
Run Code Online (Sandbox Code Playgroud)


mag*_*981 6

我使用Monitor Off Utility已有好几年了。如果我想禁用显示,我分配了一个快捷方式组合并按下它。

在此处输入图片说明

在此处输入图片说明