返回列表 发帖

[问题求助] 判断numlock指示灯的状态,若关闭则开启,或者若开启则关闭。

本帖最后由 ygqiang 于 2025-4-23 21:18 编辑

判断numlock指示灯的状态,若关闭则开启,或者若开启则关闭。
或者实现:每次开机进入win系统桌面,固定让numlock指示灯开启或关闭。

判断numlock按键灯,若是关闭,就发送代码“NUMLOCK”,谢谢


下面的vbs代码,无论灯是否关闭,都会强制发送。
  1. set WshShell=CreateObject("Wscript.shell")
  2. WshShell.SendKeys"{NUMLOCK}"
复制代码
———————————更新下。
虚拟机是win7系统,装收费软件客户端。。
win7系统启动到桌面以前,首先要输入帐号密码,登录收费软件客户端。
输入帐号密码的界面,numlock指示灯默认是关闭的。有点烦人。

不知道在开始-程序-启动菜单里面,加上个bat或者vbs代码,如果检测到numlock灯关闭就给打开。是否能解决这种问题呢?

本帖最后由 ygqiang 于 2017-4-12 11:42 编辑

回复 5# pcl_test


    多谢。win7 64系统测试可用。

如果检测到numlock按键灯是关闭的,如何打开呢?
(vbs运行过程中不需要弹出任何窗口,静默打开就行)

1楼更新了具体使用场景。

TOP

回复 7# yu2n


保存为js文件。双击, xp系统测试不通过。
行53  字符2  错误‘null’为空或不是对象

TOP

回复 2# 老刘1号


    需要netframe4.0环境支持。测试不通过。

TOP

回复 11# yu2n


win7 系统测试通过。    xp系统测试不行。
提示NumLock.exe 应用程序错误  正常初始化失败

TOP

本帖最后由 ygqiang 于 2017-4-13 10:47 编辑

回复 5# pcl_test


    你好,你的代码,能否跟1楼代码。合并下。
实现

1、你的vbs代码判断灯如果没有打开,就运行1楼这个vbs代码。如果灯打开了,就直接退出
2、你的vbs代码,不需要弹出任何提示窗口,后台静默执行。

TOP

本帖最后由 ygqiang 于 2017-4-13 19:53 编辑

回复 15# yu2n


    ghost tudou  xpsp3版本。

xp系统暂时不考虑了。简单修改注册表就能实现。xp默认一直开启numlock灯。
  1. ;14寸及以下笔记本勿改,否则开启数字键盘后字母变数字的。
  2. ;一般台机或者大尺寸笔记本都有数字键,在键盘右侧,方便直接输入数字
  3. cls
  4. reg add "HKEY_CURRENT_USER\Control Panel\Keyboard" /f /v "InitialKeyboardIndicators" /t REG_SZ /d 2
  5. reg add "HKEY_USERS\.DEFAULT\Control Panel\Keyboard" /f /v "InitialKeyboardIndicators" /t REG_SZ /d 2
  6. 1pause
  7. shutdown.exe -r -t 1
  8. 1pause
  9. shutdown.exe -r -f
  10. exit
复制代码

TOP

本帖最后由 ygqiang 于 2025-4-22 10:52 编辑

回复 7# yu2n


    win11系统下测试通过。(检测到如果NumLock指示灯打开,就不执行任何操作;如果指示灯关闭就打开指示灯)

修改0为2,你这个js代码,也可以实现反向功能。谢谢
(检测如果NumLock指示灯打开,就关闭;如果指示灯关闭就不执行任何操作)

另外请教下,你这js代码。具体是如何实现这个功能的?
只需要运行1次,以后电脑关机重新开机进入win系统桌面,numlock指示灯都能实现自动开?

TOP

本帖最后由 ygqiang 于 2025-4-23 17:13 编辑

回复 19# aloha20200628


    谢谢,这个运行1次是永久性生效?(以后每次关机再开机,进入win系统桌面,numlock指示灯会自动亮)
还是运行1次生效1次?(每次开机进入win系统桌面,运行1次,numlock指示灯才会自动亮)

7楼js代码,win11系统,测试是永久生效。

TOP

回复 21# aloha20200628


    运行一次,以后每次开机进入win系统桌面,numlock指示灯都会自动亮。

TOP

回复 23# aloha20200628
  1. reg add "HKEY_CURRENT_USER\Control Panel\Keyboard" /f /v "InitialKeyboardIndicators" /t REG_SZ /d 2
  2. reg add "HKEY_USERS\.DEFAULT\Control Panel\Keyboard" /f /v "InitialKeyboardIndicators" /t REG_SZ /d 8002
  3. reg add "HKEY_USERS\.DEFAULT\Control Panel\Keyboard" /f /v "InitialKeyboardIndicators" /t REG_SZ /d 2
复制代码
运行这个bat文件(ASNI编码),重启win11系统后,没有效果。

TOP

回复 25# aloha20200628


    谢谢。numlock指示灯,一直关闭。是用哪个值?

TOP

回复 25# aloha20200628


    谢谢。numlock指示灯,一直关闭。注册表是用哪个值?

TOP

回复 25# aloha20200628


    谢谢。numlock指示灯,一直关闭。注册表是用哪个值?

TOP

回复 25# aloha20200628
  1. reg add "HKEY_CURRENT_USER\Control Panel\Keyboard" /f /v "InitialKeyboardIndicators" /t REG_SZ /d 2
  2. reg add "HKEY_USERS\.DEFAULT\Control Panel\Keyboard" /f /v "InitialKeyboardIndicators" /t REG_SZ /d 8002
  3. reg add "HKEY_USERS\.DEFAULT\Control Panel\Keyboard" /f /v "InitialKeyboardIndicators" /t REG_SZ /d 2
  4. pause
  5. reg add "HKEY_USERS\.DEFAULT\Control Panel\Keyboard" /v InitialKeyboardIndicators /t REG_SZ /d 2147483650 /f" >nul 2>nul
  6. reg add "HKEY_USERS\.DEFAULT\Control Panel\Keyboard" /v InitialKeyboardIndicators /t REG_SZ /d 0x80000002 /f" >nul 2>nul
  7. pause
复制代码
后面2个都提示:错误,无效语法

TOP

返回列表