你要屏蔽一个键(比如回车),还是全部?不论怎样都与他们的ASCII有关,单一屏蔽可以用IF KEY=13(回车)THEN ... 全部屏蔽则要用循环。
解决方案 »
- 怎样用SQL删除access2000数据库中表的主键?
- 新手提问
- 绘制统计图的问题!!!!!!!!!!!!!!!!!!!!!!!!!
- 为什么图形在Delphi6下闪烁,而在Delphi5下面却不闪烁???
- 一个简单的问题,请大家帮忙,(关于tidudpserver的问题)
- 急!如何使QUICK REPORT的PREVIEW窗口中的打印按钮无效?
- 请问windows95下的API与windows98下的API有什么区别??(有没有增加或减少)
- 请教大家一个算法兼数据存储的问题(关于销售软件中的优惠)
- 求学生信息管理系统(delphi7.0+access)毕业设计!
- XE5调用so库文件的问题
- 怎样定义这样的函数,或者过程,以及我怎样去调用她?
- delphi线程问题(急!急!!在线等待)
out 21h,al
就可以将键盘封住的。如果用
mov al,0ffh
out 21h,al 就把所有中断都封住啦!按关机钮都不好使!要按reset的!
锁定MOUSE的话用汇编就不会了。用HOOK的话,我做了一个内存镜象文件,当控制端向客户端发来MOUSE消息时,内存中某位付值TRUE,HOOK程序再读这位,如果是TRUE,让这个MOUSE动作实行,FALSE就不实行,可是发现比如MOUSE在菜单选择时控制端要连续发几个同样的MOSE点击动作才有反应。不用HOOK的话就很正常。可见HOOK还是不太好用的,也不知是我能力差还是怎样。但我认为最好还是不要用HOOK!
out 21h,al
就可以将键盘封住的。如果用mov al,0ffh
out 21h,al
就把所有中断都封住啦!按关机钮都不好使!要按reset的!
你是说I/O中断吗?还是全部?
if key = uchar('a') then key:=#0;
没用,OFF一样只是锁掉键盘而以,而且缓存区中一样保留着键值!看来你对汇编很熟的,帮我解释一下这个好吗??盘缓冲区0040:001e-0040:003e,为一环形队列。队首指针0040:001a,队尾指针0040:001c,试试看下面的程序:
in al,61h
mov ah,al
or al,? //?是怎么?
out 61h,al
in al, 60h
mov scancode, al
mov al,ah
out 61,al
mov al,20h
out 20h,al
清空缓存区