当计算机从睡眠模式唤醒时启用 NumLock

当计算机从睡眠模式唤醒时启用 NumLock

在新款 Acer Windows 10 笔记本电脑上,每当计算机从睡眠模式恢复时,NumLock 都会自动禁用。笔记本电脑没有物理指示灯来告诉您何时启用了 NumLock,这让它更加烦人。

网上搜索表明这可能与 Acer 固件有关。尝试使用注册表选项和 Autoruns.exe,并能够在登录和启动时纠正该问题,但在计算机进入睡眠状态和唤醒时却无法纠正。

计算机从睡眠状态唤醒时不会自动注销或锁定屏幕。

答案1

作为一种解决方法,我编写了一个启用 NumLock 的 PowerShell 脚本,然后在任务计划程序中设置一个任务,以便在计算机从睡眠模式唤醒时运行它。

  1. 使用记事本,将以下文本保存为 .ps1 文件

    if(-not [console]::NumberLock){ $w = New-Object -ComObject WScript.Shell; $w.SendKeys('{NUMLOCK}'); }

  2. 如果您以前从未在计算机上运行过 PowerShell 脚本,则需要更改执行策略以允许运行脚本。运行执行程序以管理员身份,然后键入以下内容并按回车键:

    Set-ExecutionPolicy RemoteSigned

    这将允许您运行计算机上物理存在的未签名的脚本,但阻止人们远程执行未签名的脚本。

  3. 类型 ”任务计划程序”进入开始菜单,点击它打开计划任务库。

  4. 右键单击任务计划程序库并选择“创建任务...

  5. 在里面一般的选项卡,为任务命名,例如“确保数字锁定已打开”,然后切换到行动标签

  6. 给任务一个动作“启动程序“。该程序将是 PowerShell.exe(您需要粘贴 PowerShell 可执行文件的完整路径),并且该操作应该有一个“参数”:

    -command "&'path/to/your/file.ps1'"

    ...将单引号中的路径替换为您之前保存的 PS1 脚本的实际路径。

    请注意,您可以通过按住 shift 并右键单击 Windows 资源管理器中任何内容(包括 PowerShell.exe 和 PS1 脚本)来获取其完整路径,然后选择“复制为路径“”。

  7. 切换到触发器选项卡,并根据需要向计划任务添加尽可能多的触发器。有内置触发器用于“登录时“”启动时,“ 和 ”在工作站解锁”,但从睡眠模式唤醒时可能没有这个功能。

    相反,你可以设置自定义触发器“在某次活动上”表示基于事件日志中的条目(您可以键入“事件查看器“进入开始菜单,查看计算机从睡眠模式唤醒时触发的事件)。基于睡眠模式的事件可能位于系统类别Windows 日志

  8. 确保不存在状况某些选项卡可能会阻止任务表单运行,例如当使用电池供电时

  9. 保存任务。您可以右键单击它并运行它以确保它按预期启用 NumLock。

相关内容