Num Lock 拒绝继续

Dre*_*art 4 keyboard numlock windows-10

在我继续之前,让我说这不是启动后关闭 Num Lock 的问题。我已经对此进行了修复。我的问题是 Num Lock 在我使用笔记本电脑时拒绝保持打开状态。

场景:我登录到我的 Acer Aspire F5-572-57T8 笔记本电脑并看到我的桌面。Num Lock 已开启,一切正常。在我停止使用数字键盘后的一段时间(可能是 5-10 分钟,尚未测试是否每次间隔相同),但是,Num Lock 会自行禁用。我尝试输入一个数字,注意到 Num Lock 已关闭,然后按下按钮,重新开始循环。

有没有人知道是什么原因造成的,是否有办法阻止它?

小智 6

我遇到了同样的问题,通过转到设备管理器 > 人机接口设备 > USB 输入设备来修复它。我有三个 USB 条目,对于我双击的每个条目,转到最后一个选项卡,并禁用关闭设备的功能。然后点击确定。如果这不能唤醒您的键盘,请再次选中该复选框,确定,然后跳到下一个 USB 设备。对我来说,这是最后一个......确认立即打开了我键盘的 NUMLOCK。

这可能是 Microsoft 品牌键盘特有的问题,顺便说一句。


Vom*_*yle 1

可能的解决方案

我从TechNet - Scripting Guy那里得到了这个想法和最初的 VBS 逻辑,只是做了一些小的 VBS 逻辑调整,并将其变成了一个在循环中运行的动态构建的批处理脚本。它会根据需要运行,并且可以根据需要轻松终止,无需安装,假设您的 PC 上已经安装了 Microsoft Office Word(我确信有一种方法可以将 Office 组件放置在您的 PC 上,而无需实际安装虽然已安装许可软件)。

只需将下面的批处理脚本逻辑保存到桌面等上的文本文件中,并将其命名为<something>.cmd,然后只需双击它即可运行。Num Lock当您告诉它运行时,请观察键盘上的灯每 X 秒闪烁一次(我在示例脚本中将其设置为 5)。

只需在命令提示符窗口运行时将其最小化,并在准备好停止运行时使用“X”关闭该命令提示符窗口,以便您的电脑在Num Lock意外关闭时不再打开。

动态VBS批处理脚本逻辑

@ECHO OFF
SET TempVBSFile=%tmp%\~tmpSendKeysTemp.vbs
SET PauseSeconds=5

:VBSDynamicBuildLoop
IF EXIST "%TempVBSFile%" DEL /F /Q "%TempVBSFile%"
ECHO Set objWord = CreateObject("Word.Application")              >>"%TempVBSFile%"
ECHO Set WshShell = WScript.CreateObject("WScript.Shell")        >>"%TempVBSFile%"
ECHO Wscript.Sleep %PauseSeconds%000                             >>"%TempVBSFile%"
ECHO.                                                            >>"%TempVBSFile%"
ECHO If objWord.NumLock = 0 Then                                 >>"%TempVBSFile%"
ECHO    WshShell.SendKeys "{NUMLOCK}"                            >>"%TempVBSFile%"
ECHO End If                                                      >>"%TempVBSFile%"
ECHO.                                                            >>"%TempVBSFile%"
ECHO objWord.Quit                                                >>"%TempVBSFile%"

CSCRIPT //nologo "%TempVBSFile%"
GOTO VBSDynamicBuildLoop
Run Code Online (Sandbox Code Playgroud)