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

我正在寻找实现这一目标的最佳方法。我想在某些事件发生时(例如登录到笔记本电脑时)运行脚本。我计划通过计划任务执行此操作,并且我更愿意使用PowerShell而不是VBScript,但是无论使用什么方法,我都会很高兴。

最佳答案

在PowerShell中,[console]::NumberLock是只读属性,如果启用了NumLock,则评估为true。

我最终编写的脚本如下:

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

10-06 11:24