有时当我碰到鼠标或键盘时,计算机就会启动。如何防止这种情况发生?
答案1
您可以禁用全部设备唤醒您的计算机powershell -Command "powercfg /devicequery wake_armed | ForEach{ powercfg /devicedisablewake $_ }"
。
在 中cmd
,您可以运行powercfg /devicequery wake_armed
以获取当前允许唤醒计算机的设备列表。您可能会看到几个 HID(人机界面设备)和一个网卡。您可以将它们复制/粘贴到相应的命令中,powercfg /devicedisablewake "your device here"
但这很烦人。
操作ForEach{ $_ }
有点像xargs
如果您熟悉这一点,那么$_
输入的每一行(即powercfg /devicequery wake_armed
管道之前)的文本的占位符在哪里。
答案2
可能的解决方案如下
这对许多用户来说不起作用,包括我:
powercfg /devicedisablewake "your device here"
尽管我们都以管理员身份运行命令行,但还是存在某种管理员权限问题。今天刚刚在网上搜索了这个问题,发现有大量未解决的问题。好吧,我想我可能已经解决了。我遇到的问题与第一个问题完全相反,我的设备实际上阻止了显示器进入睡眠状态。所以我做了两件事,其中至少有一件事对我有帮助:
A) 我为导致问题的设备(Genius MaxFire Blaze 5 游戏手柄控制器)安装了旧驱动程序,而不是默认驱动程序(我认为是 2019 年的 Xbox 360 控制器的 MS 驱动程序)。好吧,至少我尝试过。在发现系统中安装了旧驱动程序后,我不得不通过“有磁盘”来更新它,并手动将旧驱动程序推送到系统。
编辑:这毕竟是驱动程序问题。机器重启后,旧的游戏手柄驱动程序被卸载(因为我安装了新的),这又破坏了显示器的睡眠。所以我重新安装了它,希望我再也不会遇到这个问题。旧驱动程序来自 2009 年,新驱动程序来自 2019 年。“干得好”,微软!
B)同时我制作了一个名为禁用唤醒游戏手柄.cmd,它的名字并不重要。内容正是我在 shell 中无法正常工作的那一行:
powercfg /devicedisablewake "HID-compliant game controller"
接下来我打开了组策略编辑器管理控制台并导航到User Configuration > Windows Settings > Scripts > Logon
并添加我的小脚本添加按钮。然后我重新启动了机器,因为脚本在登录时运行(大概是在系统凭据下)。
我认为这很有帮助。我尝试重新安装最新的 MS 游戏手柄驱动程序,它确实重新安装好了,游戏手柄仍然没有阻止显示器休眠,所以成功了 - 经过 2 天的研究和测试各种东西。
* 注意:符合 HID 标准的游戏控制器是 wake_armed 设备列表 (powercfg devicequery wake_armed) 中的设备名称。我知道是游戏手柄导致了问题,因为当我断开连接时,显示器能够进入睡眠状态**。
** 使用小型实用程序(例如 DisplayPowerOff4.1 或 Nirsoft 实用程序)可以轻松快速地测试显示器睡眠。
我会继续测试,如果发现到底是什么原因导致的,我会更新这篇文章。但你们现在有了很好的线索。祝你好运,你会需要它的。仅供参考,这个游戏手柄在 Win7 下与我的显示器配合得很好,是Microsoft Windows 10 把它弄坏了。