如何检查 NumLock 是否启用

Thr*_*gle 3 powershell

最近,我遇到了一台笔记本电脑的问题,该笔记本电脑在某些时候(例如从睡眠模式中出来时)会自动禁用 NumLock。这促使我寻找以编程方式检查 NumLock 是否关闭的方法,如果是,则将其打开。

我正在寻找实现这一目标的最佳方法。我想在发生某些事件时运行该脚本,例如登录笔记本电脑时。我计划通过计划任务来完成此操作,并且我更喜欢使用 PowerShell 而不是 VBScript,但我很乐意使用任何有效的方法。

Thr*_*gle 5

在 PowerShell 中,[console]::NumberLock是一个只读属性,如果启用 NumLock,则其值为 true。

我最终编写的脚本如下:

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