主题:请教各位:如何控制键盘的三盏指示灯?(Nun、Cap、Scr)
todaypk
[专家分:0] 发布于 2005-07-29 21:34:00
[em15]请教热心的各位网友啦!
我想用QBASIC语句来控制键盘的Nun、Cap、Scr三个键的状态。也就是想控制指示灯的亮和灭。
心急吖!哪位可以帮帮我,用哪个语句呢?[em15]
回复列表 (共23个回复)
沙发
def [专家分:3380] 发布于 2005-07-29 23:54:00
OUT &H64,控制号
不知
板凳
todaypk [专家分:0] 发布于 2005-07-30 00:01:00
控制号是多少?
for i=1 to 888
out &H64 i
next i
(不行,运行了键盘灯也没改变!)
3 楼
moz [专家分:37620] 发布于 2005-07-30 00:44:00
在帮助文件里面有的
4 楼
todaypk [专家分:0] 发布于 2005-07-30 01:12:00
上面的人兄是指《编程相关知识简介》里面的键盘篇吧。 我按着那个程序试过了,键盘一点反应都没。也不明白里面的&H17、&H40、&H20 和SEG分别是什么含意。 键盘的端口应该是&H60的吖,为什么会用到&H17的呢? 真的弄不明白!!
有谁可以帮帮手,看看能不不搞明白? 心急吖!!!!
5 楼
moz [专家分:37620] 发布于 2005-07-30 01:36:00
NoNoNo,
我的意思是:
请你在QB编辑器内
按<shift> + <F1>键进入帮助页面
按 <ALT> + <S>,<F> 键进入查找对话框
输入 CapsOn 后回车
你看到的是设置大小写那盏灯的例程
至于其他的,嘿嘿,慢慢试.试坏了别怪我.
6 楼
todaypk [专家分:0] 发布于 2005-07-30 02:09:00
找不到 提示"match not found"
7 楼
moz [专家分:37620] 发布于 2005-07-30 02:20:00
嘿嘿,还是说明一下吧
这三盏灯是根据一个标志来决定的
这个标志字节在0段的&H417的位置上
长为8个二进制数,如下所示:
0 1 1 1 0 0 0 0
| | |
| | Scroll Lock 的标志位
| Num Lock 的标志位
Caps Lock 的标志位
这个8个二进制数的意思就是
第二位代表大小写的那盏灯的亮灭,0就是灭,1就是亮
第三位代表数字键盘的灯的亮灭, 0 = 灭, 1 = 亮
第四位表示屏幕锁的标志.......................
把这个字节读出来检查标志位上的值就可以知道目前灯的状态
比如: 01110000 就是表示三盏灯都亮了
00000000 就是三盏灯全灭了
00100000 就是只有键盘灯亮
需要更改某盏灯或者几盏灯的亮灭状态,把标志位的值改过来就可以了
比如你要打开大写灯,就把第二位的值置1就可以了,
怎样置1 ? 怎样置0 ?
def seg=0
poke &H417,peek(&H417) or &H70 '[color=FF00FF]灯全亮[/color]
poke &H417,peek(&H417) or &H40 '[color=FF00FF]亮大小写灯[/color]
poke &H417,peek(&H417) or &H20 '[color=FF00FF]亮数字灯[/color]
poke &H417,peek(&H417) or &H10 '[color=FF00FF]亮屏幕灯[/color]
poke &H417,0 '[color=FF00FF]全置0,全弄灭了[/color]
poke &H417,peek(&H417) and &HBF '[color=FF00FF]灭大小写灯[/color]
poke &H417,peek(&H417) and &HDF '[color=FF00FF]灭数字灯[/color]
poke &H417,peek(&H417) and &HEF '[color=FF00FF]灭屏幕灯[/color]
def seg
需要注意的是,如果你改了其他位的值的话,
你要小心你的键盘会错位或者失灵喔.
还有如果在XP的系统中,有可能写不进去的.
因为它有保护机制的.
8 楼
todaypk [专家分:0] 发布于 2005-07-30 02:22:00
细读中,一会儿再复你。先谢。
9 楼
moz [专家分:37620] 发布于 2005-07-30 02:28:00
嘿嘿,我其实也不懂的
但脑海中隐约有印象在HELP里面有的
你在QB中输入一个关键词def seg后按<F1>键
转到 EXAMPLE,那里就有的了
然后我就翻出上面那些东西来了.
其实很多的东西都可以凭空摸索出来的.
我没学过太多书本的东西,
很多时候看看参考书是有好处的.
10 楼
todaypk [专家分:0] 发布于 2005-07-30 02:29:00
我按代码照输来运行,还是不行。
你运行时,指示灯有改变吗?它会不会是:只是改变了内存里的值,而对键盘灯没有影响呢?
我来回复