专注电子技术学习与研究
当前位置:单片机教程网 >> MCU设计实例 >> 浏览文章

delphi键盘钩子(按键拦截程序源代码)

作者:佚名   来源:本站原创   点击数:  更新时间:2014年04月18日   【字体:

源码下载: http://www.51hei.com/f/delphigoujiapan.rar 

                       超强悍的delphi键盘钩子 说明
 
 本软件可以截获几乎所有键值,例如:shift+?,ctrl+?,alt+?,F1~F12,shift或者ctrl或者alt  + F1~F12,单独的 shift、ctrl、alt 键值,特殊键ins、del、caps lock、num lock、小键盘数字 等等,你只要稍作修改,也可以截获 ctrl+alt+?等键值,没有截获不到的键值,本程序不使用dll方式,使用常规方式,方便你编译调试修改,支持xp、vista、win7,是最强悍的键盘钩子控件, 本软件在delphi7下通过。


使用方法:
先点击 按钮 【安装键盘钩子】,然后memo编辑框就开始显示所有的系统键盘消息了, 在 memo编辑框的onChange事件中编写自己的 键盘消息接受主控制过程,其中 字符串mypresschar 返回总键值,它跟memo编辑框中显示值是一样的 ,例如 g、shift+g、ctrl+2、F9、alt+F9、 等等,其中 字符串shiftstr 返回 控制键 shift ctrl alt 的状态,例如按下ctrl,则  shiftstr=‘ctrl’ ,否则=''。  


安装方法:

本控件的核心源代码在 unit2

首先 创建调用主窗体,假定是form1,在form1上放一个 memo控件(必须),然后创建一个新单元  如unit2,把我的unit2 单元的源代码全部复制过去,做以下修改,首先确保form1使用 新单元 如unit2,并且unit2也使用form1。
在新单元unit2中 ,找到 函数 function KeyBHkHandle 过程,在其中找到以下两条语句:

 // 在这里根据自己的情况修改
      form1.Memo1.Lines.Add(mypresschar);

// 在这里根据自己的情况修改
  if mypresschar<>'' then  form1.Memo1.Lines.Add(mypresschar);
 
如果你的调用主窗体就叫form1,则不用修改,否则把这两条语句的form1修改为你的调用主窗体的名字。

在 memo编辑框的onChange事件中编写自己的 键盘消息接受主控制过程,其中 字符串mypresschar 返回总键值,它跟memo编辑框中显示值是一样的 ,例如 g、shift+g、ctrl+2、F9、alt+F9、 等等,其中 字符串shiftstr 返回 控制键 shift ctrl alt 的状态,例如按下ctrl,则  shiftstr=‘ctrl’ ,否则=''。

 
最后不要忘记在程序退出时卸载键盘钩子! 

我的邮件地址:
wanglinyun1@sina.com

王凌云
2010-06-16        

关闭窗口

相关文章