NumLock键启动就亮的原理
在Windows系统启动时,它会从注册表下面读一个键值,然后根据这个键值的内容来决定是否启动NumLock键、CapsLK键、ScrLock键等。
这个键值是:
InitialKeyboardIndicators它是REG_SZ类型,内容的含义是:
0 - Turn all indicators Off (NumLock, CapsLock, ScrollLock)
1 - Turn CapsLock On
2 - Turn NumLock On
3 - Turn CapsLock and NumLock On
4 - Turn ScrollLock On
5 - Turn CapsLock and ScrollLock On
6 - Turn NumLock and ScrollLock On
7 - Turn all indicators On (NumLock, CapsLock, ScrollLock)
也就是说:设置为0 则关闭NumLock键,设置为2则开启NumLock键。
但是这个键值在用户登录前和登录后读取的路径是不一样的。
用户登录前的NumLock
在登录用户前,Windows是根据
HKEY_USERS\.Default\Control Panel\Keyboard 下InitialKeyboardIndicators的内容来决定是否开启这些键值的。
注意:有些Win机器上是2147483648,即十六进制的0x80000000,最后一个位有效,即表示0的意思。
用户登录后的NumLock
在一个用户登录后,Windows是根据HKEY_CURRENT_USER\Control Panel\Keyboard 下InitialKeyboardIndicators的内容来决定是否开启这些键值的。
注意:Windows7在关机时会自动保存当前NumLock键的状态的,也就是你自己改无效,反正关机时它会再根据NumLock键的状态覆盖你设置的内容。
解决方案: 开机打开NumLock键
1.设置 HKEY_USERS\.Default\Control Panel\Keyboard 下InitialKeyboardIndicators 为2
2.关机前打开NumLock键
3.重启
解决方案: 开机不打开NumLock键
1.设置 HKEY_USERS\.Default\Control Panel\Keyboard 下InitialKeyboardIndicators 为0
2.关机前关闭NumLock键
3.重启
NumLockZ
为了方便设置,我写了一个NumLockZ的命令行程序。大家可以从这里下载:
http://www.box.net/shared/gxv5mqze5j使用也很简单:
numlockz /on 打开numLockz键设置后需要大家按下numlock键并重启机器。
numlockz /off 关闭numlockz键
numlockz /print 显示注册表键值
参考资源:
http://social.answers.microsoft.com/Forums/en-US/w7hardware/thread/7b48ae6f-fa9c-4bc2-8359-81e0c5e5d6a2
http://www.askvg.com/force-capslock-numlock-and-scrolllock-keys-behavior-using-windows-registry/
没有评论:
发表评论