unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Mask, RzEdit, RzSpnEdt;

type
TForm1 = class(TForm)
Edit1: TEdit;
RzSpinEdit1: TRzSpinEdit;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
end;

{声明键盘钩子回调函数; 其参数传递方式要用 API 的 stdcall}
function KeyHook(nCode: Integer; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall;

var
Form1: TForm1;

implementation

{$R *.DFM}

var
hook: HHOOK; {定义一个钩子句柄}

{实现键盘钩子回调函数}

function KeyHook(nCode: Integer; wParam: wParam; lParam: lParam): LRESULT;
begin
if (wParam = 65) then
Form1.Edit1.Text:=IntToStr(strtoint(Form1.Edit1.Text)+1);
Result := CallNextHookEx(hook, nCode, wParam, lParam);
end;

{设置键盘钩子}
procedure TForm1.FormCreate(Sender: TObject);
begin
hook := SetWindowsHookEx(WH_KEYBOARD, @KeyHook, 0, GetCurrentThreadID);
end;

{释放键盘钩子}
procedure TForm1.FormDestroy(Sender: TObject);
begin
UnhookWindowsHookEx(hook);
end;

end.

最新文章

  1. Android随笔之——Android单元测试
  2. PD中将Comment 从Name复制值
  3. Jboss 安全和优化
  4. VMware虚拟系统 bridged、NAT、host-only三种网络连接模式
  5. DBA日常SQL之查询数据库运行状况
  6. [原创]大连sap vt 实习生面试经历
  7. Spring 3.1 Environment Profiles--转载
  8. buptoj 1578
  9. 解决手机浏览器和微信中select中border:none;无用和去掉小三角
  10. ipset高大上性能果断将nf-HiPac逼下课
  11. 【从0开始Tornado网站】主页登录和显示的最新文章
  12. innodb关键特性之double write
  13. 代码覆盖率 (Code Coverage)从简到繁 (一)
  14. vmware虚拟机安装了linux(redhat)系统忘记登录密码怎么办
  15. Magic Stones CodeForces - 1110E (思维+差分)
  16. 以ActiveMQ为例JAVA消息中间件学习【2】
  17. ArrayList扩容
  18. Bitmap 位图
  19. wiki文档书写格式
  20. Java VM(虚拟机) 参数

热门文章

  1. ASA-ACL类型
  2. mybatis源码探索笔记-1(构建SqlSessionFactory)
  3. 【PAT甲级】1043 Is It a Binary Search Tree (25 分)(判断是否为BST的先序遍历并输出后序遍历)
  4. 操作系统OS - 线程中的join()为什么叫join
  5. LeetCode简单题(二)
  6. Spring Boot + MyBatis + PostgreSql
  7. 第1节 Scala基础语法:scala中的方法源码分析
  8. 【PAT甲级】1014 Waiting in Line (30 分)(队列维护)
  9. gradle 打包所有依赖 Invalid signature file digest for Manifest main attributes(转)
  10. Android开发实例之miniTwitter登录界面的实现