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

Thr*_*gle 6 laptop sleep numlock windows-10

在新的 Acer Windows 10 笔记本电脑上,只要计算机从睡眠模式重新启动,NumLock 就会自动禁用。笔记本电脑没有物理指示灯来告诉您 NumLock 何时启用,这使它变得更加烦人。

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

当计算机进入睡眠状态后唤醒时,没有自动注销或锁定屏幕。

Thr*_*gle 4

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

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

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

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

    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。