找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 1354|回复: 3

[系统相关] 打开/关闭NumLock指示灯.

[复制链接]
发表于 2025-12-12 01:47:57 | 显示全部楼层 |阅读模式
无聊逛 无忧,,看见一帖 ,,
http://wuyou.net/forum.php?mod=viewthread&tid=441644&fromuid=570058
广大笔记本电脑用户的福音,运行后关闭NumLock指示灯,适合作为开机登录脚本。 ,,,,,,,,,,,,复制人家的,,,
他那写法是生成文件的,于是改编一下写法,混编写法,不产生文件写法,,
无忧那很少登录,基本都是白嫖下载,,,,不够等级发帖,,,,,,

-------开启NumLock指示灯...
  1. '&cls&for /f %%a in ('powershell [Console]::NumberLock') do ( Start "" WScript -e:Vbscript %~0 %%a & exit )
  2. If InStr(WScript.Arguments(0), "True") > 0 Then  
  3. Else
  4. CreateObject("wscript.shell").Sendkeys "{NumLock}"
  5. End If
复制代码
-------关闭NumLock指示灯...
  1. '&cls&for /f %%a in ('powershell [Console]::NumberLock') do ( Start "" WScript -e:Vbscript %~0 %%a & exit )
  2. If InStr(WScript.Arguments(0), "True") > 0 Then  
  3. CreateObject("wscript.shell").Sendkeys "{NumLock}"
  4. Else
  5. End If
复制代码
BAT + VBS  混编写法,,另存为 xxx.bat,,,,
也可以修改成 检测大写键是否开启,,,,,,
  1. '&cls&For /f %%a in ('powershell [Console]::CapsLock') do ( Start "" WScript -e:Vbscript %~0 %%a & exit )
  2. If InStr(WScript.Arguments(0), "True") > 0 Then  
  3.     WScript.Echo "大写键开启"
  4. Else
  5.     WScript.Echo "大写键关闭"
  6. End If
复制代码
----------------------------纯BAT 写法 一行过,,,,,
--开启NumLock指示灯,,,
  1. for /f %%a in ('powershell [Console]::NumberLock') do ( Echo.%%a|find "True" || MsHta VBscript:CreateObject^("Wscript.Shell"^).Sendkeys^("{NumLock}"^)^(Window.Close^))
复制代码
--关闭NumLock指示灯,,,
  1. for /f %%a in ('powershell [Console]::NumberLock') do ( Echo.%%a|find "True" && MsHta VBscript:CreateObject^("Wscript.Shell"^).Sendkeys^("{NumLock}"^)^(Window.Close^))
复制代码
以上写法 都是 检测 True 返回 也可以写成  检测 False 返回,,,,

评分

参与人数 1技术 +1 收起 理由
zzz19760225 + 1 乐于分享!!!

查看全部评分

发表于 2025-12-12 21:13:53 | 显示全部楼层
我也贴一个本人参考 VBSEdit 编写出来的:
  1. '键盘灯 NumLock 状态
  2. Const HKCU = &H80000001
  3. Const HKLM = &H80000002
  4. Const HKU  = &H80000003
  5. Set oReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv")
  6. Set colItems = objWMIService.ExecQuery("Select * from Win32_SystemEnclosure")
  7. For Each objChassis in colItems
  8.         For Each strChassisType in objChassis.ChassisTypes
  9.                 If strChassisType = 3 Then
  10.                         oReg.SetStringValue HKCU,"Control Panel\Keyboard","InitialKeyboardIndicators",2
  11.                         oReg.SetStringValue HKU,".DEFAULT\Control Panel\Keyboard","InitialKeyboardIndicators",2
  12.                 End If
  13.         Next
  14. Next
复制代码
发表于 2025-12-19 09:16:57 | 显示全部楼层
用AHK更改键盘三个指示灯
SetCapsLockState [, State]
SetNumLockState [, State]
SetScrollLockState [, State]
参数
State
如果为空或省略, 则清除按键的 AlwaysOn/Off 状态(如果存在). 否则, 请指定下列单词的其中一个:
On: 打开按键并清除按键的 AlwaysOn/Off 状态(如果存在).
Off: 关闭按键并清除按键的 AlwaysOn/Off 状态(如果存在).
AlwaysOn: 强制按键保持打开状态.
AlwaysOff: 强制按键保持关闭状态.
可以分别使用十进制值 1 和 0 代替 On 和 Off.
示例
1: 开启 NumLock 并移除键的 AlwaysOn/Off 属性(如果存在).
SetNumLockState, On
2: 强制 ScrollLock 永久关闭.
SetScrollLockState, AlwaysOff
3: 切换 CapsLock 到相反的状态.
SetCapsLockState % !GetKeyState("CapsLock", "T")
 楼主| 发表于 2025-12-19 21:53:05 | 显示全部楼层
额,我发这个贴的本意重点只是分享写法!脚本的写法和命令组合,还有编写,获取,实现的多样性,,,
不是着重脚本功能,,,,
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 07:06 , Processed in 0.022034 second(s), 12 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表