最近,我遇到了某个笔记本电脑的问题,该笔记本电脑在某些时间(例如从睡眠模式退出时)自动禁用了NumLock。这促使我寻找以编程方式检查NumLock是否已关闭的方法,如果已关闭,则将其打开。
我正在寻找实现这一目标的最佳方法。我想在某些事件发生时(例如登录到笔记本电脑时)运行脚本。我计划通过计划任务执行此操作,并且我更愿意使用PowerShell而不是VBScript,但是无论使用什么方法,我都会很高兴。
最佳答案
在PowerShell中,[console]::NumberLock
是只读属性,如果启用了NumLock,则评估为true。
我最终编写的脚本如下:
if(-not [console]::NumberLock){
$w = New-Object -ComObject WScript.Shell;
$w.SendKeys('{NUMLOCK}');
}