如何扑捉键盘输入(磁卡刷卡时的信息) 现在做个程序,想自动监视键盘输入,以便进行处理(根据输入的信息进行查询等操作)当键盘输入(刷卡时自动有6位数输入,并伴随一个回车键),判断是否需要处理的数据该怎么弄呢,谢谢!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你可以使用系统钩子,监视键盘信息SetWindowsHookEx,第一个参数为WH_KEYBOARD,具体做法可以去网上搜一下或者参考<Delphi下深入Windows核心编程> 好简单的,就捕捉onkeypress事件啊,不过要与普通的键盘输入区别开来,这时要对输入的字符做一个判断:是数字吗?不是的话就是普通录入,若是数字且是连续的6个数字,紧跟一个回车,就可认为是刷卡动作。这时就可得到一个卡号 楼主的理解有误,刷卡操作是在某个窗体才支持的。程序中有那么多窗体,需要刷卡的窗体却只有几个或一个。具体到这个窗体,如果你在键盘输入530000然后回车确认,它就被认定为一个卡号(没有刷卡器时就用这个办法测试程序),这是十分自然的事,不要认为不合情理。如果不是刷卡(包括测试),键盘会出现输入530000回车这样的巧合吗?当然如果你的刷卡窗体中恰巧有一个edit,这时候就要判断是form还是edit触发了keypress事件。是form触发的就认定为刷卡动作 求一个 delphi 下载文件的代码 越简单越好。谢谢 类型库中如何使用动态数组? 接着 在 delphi 中如何调用 水晶报表? 哪个老师讲讲怎样控制MEMO一次只能录入多少字符啊?急!急! 谁有DELPHI做打字测试的代码吗?能不能发个给我[email protected]。搜索了一个下午都没有看到 打印机问题 请问一下! delphi下访问加密的Access数据库的问题 如何为一已知HWND设置其新的WndProc? 请问,messages.pas中的wm_user和$是什么意思? 请教下编译的错误是指什么错误 CXGRID排序以后 选择记录方式 哪个比较好
SetWindowsHookEx,第一个参数为WH_KEYBOARD,具体做法可以去网上搜一下
或者
参考<Delphi下深入Windows核心编程>
是数字吗?不是的话就是普通录入,若是数字且是连续的6个数字,紧跟一个回车,就可认为是刷卡动作。这时就可得到一个卡号
楼主的理解有误,刷卡操作是在某个窗体才支持的。程序中有那么多窗体,需要刷卡的窗体却只有几个或一个。具体到这个窗体,如果你在键盘输入530000然后回车确认,它就被认定为一个卡号(没有刷卡器时就用这个办法测试程序),这是十分自然的事,不要认为不合情理。如果不是刷卡(包括测试),键盘会出现输入530000回车这样的巧合吗?当然如果你的刷卡窗体中恰巧有一个edit,这时候就要判断是form还是edit触发了keypress事件。是form触发的就认定为刷卡动作