如何过滤键盘录入

scorpio 2000-04-01 12:57:00
我看了程序员大本营中的"技术资料"->"如何过滤键盘录入"
如果vb在后台运行,没有form ,如何过滤键盘录入???

我想将
HHOOK SetWindowsHookEx( int idHook, // type of hook to install
HOOKPROC lpfn, // address of hook procedure
HINSTANCE hMod, // handle of application instance
DWORD dwThreadId // identity of thread to install hook for
);


设置dwThreadId=0 ,并且lpfn 指向DLL 中的一个hook procedure,请问如何设置参数 lpfn 和 hMod.

请给我举个例子.
...全文
108 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Janven 2000-04-04
  • 打赏
  • 举报
回复
钩子分为线程专用钩子和全局钩子,线程专用钩子只监视指定的线程,要监视系统中的所有线程,如果你在后台运行,必须用到全局钩子。对于全局钩子,钩子函数必须包含在独立的动态链接库(DLL)中,这样才能被各种相关联的应用程序调用。
zm 2000-04-03
  • 打赏
  • 举报
回复
你是想监视进程外的键盘输入吗?仅仅用hook办不到,需要写一个包含hook的dll才可以,具体方法看一下关于win32方面的书
数据库数据关联输入拼音自动过滤控件,内含 Caption 属性编辑器。 只在 Delphi7 下测试通过,曾试图移植到 Delphi2009,但是 ChineseSpell.pas 单元出错,哪位高人修改后,请给我传一份,感激不尽。 (抱歉,关键部分没有源代码,但绝没有设置使用期限什么的) 本组件为方便最终用户输入数据而设计。在所有的数据库应用软件中,都必然有输入数据库表中关联字段数据的情况,而且是频繁的出现。比如:在企业ERP系统中,录入入库单时需要选择或输入已录入系统的某种货物,这时就需要解决如何使用户方便的录入这种货物。一般这种情况有两种解决办法,一种是用下拉列表框提供输入的选择,这种方法有很大的缺点:需要用户点击鼠标,弹出下拉框选择输入,比较麻烦;另外如果数据较多,用户选择数据的时间要超过了输入的时间,反而降低了输入速度;用户也不能通过多列数据信息来参照选择。还有一个更大的缺点是程序员编程非常烦琐,需要代码将数据库数据一一列入列表框,并且还需要附加关键字段数据,用代码处理选择的关键字段值。另一种是用一个按钮来调用另一个窗体,用另一个窗体来列出供选择输入的数据,用户选择了数据后返回。这种方法虽然可解决数据显示单一的问题,但是缺点也很明显,即程序员编程烦琐,用户输入也不方便,如果应用软件中多次需要输入关联数据,那么这些显示关联数据的窗体也会很多,大大增加了软件的复杂度,不利于维护和升级。这两种常规的解决办法如果处理不好,还会使用户频繁的在键盘和鼠标之间切换操作,非常麻烦,根本没有人性化可言。 而这个DataHint组件有众多优点: 1)即时显示:在需要时自动显示,在不需要时自动关闭,完全不用人工干预。 2)多列数据显示:支持多列数据显示,程序员甚至可以设置每一列的颜色和字体,以及整个数据显示框的外观,从而美化组件的外观。 3)即时拼音过滤:组件内部可以根据程序员的设置自动生成字段的拼音计算字段。普通用户都熟悉拼音,只要输入数据的汉语简拼或全拼,即时自动过滤出符合的记录,避免了不相干数据的干扰。用户还可以在过滤数据的基础上进一步通过键盘或鼠标选择余下的数据。它还不仅仅支持拼音过滤,程序员可以设置所有的字段都支持过滤,那么如果有序号类的字段,用户只需输入数字序号就可以直接过滤出选择数据,过滤出数据后只要按会车键就可以确认输入,大大简化了用户的操作。 4)统一键盘操作:整个输入过程完全不需要鼠标的辅助,用键盘就可以快速方便的完成操作。焦点进入、离开编辑框组件自动显示和关闭,不需要用户操作,输入关键字符自动过滤数据,敲会车键确认输入,按上下箭头键,进一步选择数据,完全不需要鼠标的参与。如果数据不多,用户也完全可以只用鼠标完成操作。 5)编辑控件与本组件分离:编辑控件与本组件是合作关系,这种关系的优点是两个对象的生存期互不相干。因此可以使用一个本组件对象,完成多个编辑框的输入。 6)编程方便:本组件设计功能强大,几乎将所有的编写代码的工作都转移到了对象监视器的操作中。程序员只要编辑SQL属性就可以自动将数据库中的数据提取到本组件。组件提供了一个设计字段的组件编辑器,设计列的属性编辑器,这两个编辑器是程序员非常熟悉的字段编辑器和DBGrid列编辑器。其中字段编辑器经过修改和加强,使得程序员可以设置过滤字段和拼音字段。程序员不需要写任何代码。

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧