回 帖 发 新 帖 刷新版面

主题:请问如何让窗体不响应所有键盘事件,只能用鼠标!谢谢!

请问如何让窗体不响应所有键盘事件,只能用鼠标!谢谢!

回复列表 (共4个回复)

沙发

对于所有的键盘事件,你不写代码,不就相当于不响应了?!
或许,消息钩子也行?很久没碰VB了

板凳

keydown事件中:
  keycode=0

3 楼

用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 楼

也想了解一下

我来回复

您尚未登录,请登录后再回复。点此登录或注册