主题:请问如何让窗体不响应所有键盘事件,只能用鼠标!谢谢!
mapcym
[专家分:0] 发布于 2008-02-19 16:28:00
请问如何让窗体不响应所有键盘事件,只能用鼠标!谢谢!
回复列表 (共4个回复)
沙发
天天学习 [专家分:4570] 发布于 2008-02-20 13:38:00
对于所有的键盘事件,你不写代码,不就相当于不响应了?!
或许,消息钩子也行?很久没碰VB了
板凳
brokenworld [专家分:2640] 发布于 2008-02-20 13:54:00
keydown事件中:
keycode=0
3 楼
asanscape [专家分:1350] 发布于 2008-02-20 13:56:00
用SetWindowHookEx下键盘钩子可以解决.但系统钩子原则上只能在DLL中调用.也就是说VB基本上编写不了.在这里我写了一个DLL及源码和VB调用示例,可以达到你"屏蔽所有键盘事件"的目的.其中也有鼠标钩子,因为你要允许鼠标使用,所以注释掉了.
另外,如果楼主的意思不是对系统全局而言,那么更好办.把Form的KeyPreview属性设为TRUE,让其优先捕获键盘事件(比在其上的文本框中发生的键盘事件也会被FORM先得到),然后在FORM的KeyPress事件中写上KeyAscii=0即可.如果连上下左右方向键和DEL等也要屏蔽,在KeyUp事件中让KeyCode=0即可.
系统级键盘屏蔽代码下载:[url]http://www.asanscape.com/softshare/lockkeyboard.rar[/url]
4 楼
我是大喊三 [专家分:3010] 发布于 2008-02-20 18:30:00
也想了解一下
我来回复