现在我的 win 10 PC 设置为在 30 分钟不活动后关闭显示器。我想知道我是否可以按需使用相同的功能。我经常在晚上睡觉前使用我的电脑,并且希望能够从我的无线键盘。我知道这个键盘有一个睡眠按钮,但有时我不想让电脑进入睡眠状态,因为下载或其他进程仍在运行。所以我想知道是否有办法让我有一些 .bat 文件,或者其他方法可以关闭屏幕,而不必站起来按下显示器上的按钮。如果我也可以将它连接到键盘上的按钮,就像睡眠一样,那就太棒了。
谢谢!
答案1
基于这个 Windows 7 答案链接到此脚本页面并检查此 MSDN 库页面,所用代码正确,您可以运行下面的 powershell 脚本来关闭屏幕。我在 Windows 10 笔记本电脑上运行了它,效果很好。运行脚本后移动鼠标会唤醒屏幕,就像您在屏幕因省电功能关闭时通常所做的那样。
关闭屏幕之前的 2 秒延迟是为了让您有时间在 Windows 开始检查移动以重新打开屏幕之前松开鼠标/键盘。
使用此 powershell 脚本,您不需要任何第三方工具,也不需要弄乱现有设置。只需将其保存在带有 .ps1 文件扩展名的文件中,然后使用 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
);
}
}
}
'
start-sleep 2
[Utilities.Display]::PowerOff()
答案2
我想知道我是否可以按需获得相同的功能。
nircmd monitor off
monitor [action]
改变显示器的状态。该
[action]
参数可能包含以下值:
off
:关闭显示器on
:打开显示器low
:将显示器设置为低功耗状态。此命令仅在支持此功能的系统上有效。如果您在使用此命令时遇到 NirCmd 保留在内存中的问题,您可以尝试使用
async_off
、async_on
和async_low
operations 代替 operationson/off/low
。
免责声明
我不隶属于尼尔软件无论如何,我只是他们软件的最终用户。