delphi hook回调函数问题 30

通过SetWindowsHookEx()调用hook然后回调函数keyhook(iCode:Integer;wParam:WPARAM;Param:LPARAM):LRE... 通过SetWindowsHookEx() 调用 hook 然后 回调函数
keyhook(iCode: Integer;wParam: WPARAM;Param:LPARAM):LRESULT; stdcall; export;
各个参数都有什么用 要怎么用?
还有 设置个 常数为$80000000 有什么用?
最好能带个例子说明下 谢谢了
回调函数的参数都有什么用 怎么用?
展开
 我来答
yyl67
2009-06-24 · TA获得超过1820个赞
知道小有建树答主
回答量:2133
采纳率:42%
帮助的人:613万
展开全部
SetWindowsHookEx, 其四个参数分别为钩子类型, 钩子函数地址, 钩子函数所在DLL的实例句柄,安装钩子后想监控的线程的ID号, 返回参数为钩子句柄
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
龙宇防盗监控
2009-06-25 · TA获得超过330个赞
知道小有建树答主
回答量:1026
采纳率:0%
帮助的人:756万
展开全部
HHOOK SetWindowsHookEx(

int idHook, // 类型的钩子安装

HOOKPROC lpfn, // 地址钩子程序

HINSTANCE hMod, // 处理的应用实例
DWORD dwThreadId //身份螺纹安装钩

);

参数

IDHOOK

指定类型的钩子程序来进行安装。此参数可为下列值之一:

值说明
WH_CALLWNDPROC安装一个钩子程序,监控信息系统之前,将他们传送到目的地的窗口程序。如需详细资讯,请参阅CALLWNDPROC钩子程序。
WH_CALLWNDPROCRET安装一个钩子程序,监控信息后,他们已处理,由目的地的窗口程序。如需详细资讯,请参阅CALLWNDRETPROC钩子程序。
WH_CBT安装一个钩子程序,收到通知有用的一个基于计算机的培训(的CBT )的应用。如需详细资讯,请参阅CBTPROC钩子程序。
WH_DEBUG安装一个钩子程序有用的调试其他钩子程序。如需详细资讯,请参阅DEBUGPROC钩子程序。
WH_GETMESSAGE安装一个钩子程序,监控信息,张贴到消息队列。如需详细资讯,请参阅GETMSGPROC钩子程序。
WH_JOURNALPLAYBACK安装一个钩子程序,职位,邮件先前所录得的一WH_JOURNALRECORD钩子程序。如需详细资讯,请参阅JOURNALPLAYBACKPROC钩子程序。
WH_JOURNALRECORD安装一个钩子程序,记录输入的信息发布到系统消息队列。这个钩子是有用的记录宏。如需详细资讯,请参阅JOURNALRECORDPROC钩子程序。
WH_KEYBOARD安装一个钩子程序,监控击键信息。如需详细资讯,请参阅KEYBOARDPROC钩子程序。
WH_MOUSE安装一个钩子程序,监控鼠标讯息。如需详细资讯,请参阅MOUSEPROC钩子程序。
WH_MSGFILTER安装一个钩子程序,监控信息,所产生的,由于投入的事件在一个对话框,消息框,菜单上,或卷轴。如需详细资讯,请参阅MESSAGEPROC钩子程序。
WH_SHELL安装一个钩子程序,收到通知有益的壳申请。如需详细资讯,请参阅SHELLPROC钩子程序。
WH_SYSMSGFILTER安装一个钩子程序,监控信息,所产生的,由于投入的事件在一个对话框,消息框,菜单上,或卷轴。钩程序监测这些信息对所有的应用系统。如需详细资讯,请参阅SYSMSGPROC钩子程序。

LPFN

点钩程序。如果DWTHREADID参数是零或指定的标识符一个线程所造成的不同的过程中, LPFN参数必须指向一个钩子程序在一个动态链接库( DLL ) 。否则, LPFN可以指向一个钩子程序,在相关的代码与现行的进程。

HMOD

确定了该DLL载有钩的程序指出,由LPFN参数。该HMOD参数必须设置为NULL如果DWTHREADID参数指定一个线程所造成的目前的进程,如果钩子程序是在代码中与目前的进程。

DWTHREADID

指定的标识符的线程与该钩的程序是相关联。如果这个参数是零,钩子程序是与所有现有的线程。

返回值

如果函数成功,返回值是处理的钩程序。
如果函数失败,返回值为NULL 。

言论

一个错误可能会发生,如果HMOD参数是NULL和DWTHREADID参数是零或指定的标识符一个线程所创造的另一个进程。
链接到下一个钩子程序(即,调用CALLNEXTHOOKEX功能)是可选的。一个应用程式或图书馆,可致电明年钩子程序之前或之后的任何处理在自己的钩子程序。虽然串接到下钩是可选的,这是强烈建议,否则,其他应用程序已经安装了钩将不会收到通知钩和可能的行为不当作为的结果。

前终止,应用程序必须调用UNHOOKWINDOWSHOOKEX功能,免费的系统资源与钩。
范围钩,就看钩式。一些钩可设定只与制度的适用范围;他人也可以订定,只有一个具体的线程,显示在下列清单:

钩范围
WH_CALLWNDPROC线程或系统
WH_CBT线程或系统
WH_DEBUG线程或系统
WH_GETMESSAGE线程或系统
WH_JOURNALPLAYBACK系统只
WH_JOURNALRECORD系统只
WH_KEYBOARD线程或系统
WH_MOUSE线程或系统
WH_MSGFILTER线程或系统
WH_SHELL线程或系统
WH_SYSMSGFILTER系统只

为指定的钩式,螺纹钩是所谓的第一,然后系统钩。
该系统钩子是一个共享资源,并安装一会影响所有的申请。所有系统钩子的职能,必须在图书馆。系统钩应仅限于特殊用途的应用程序或使用作为一个发展援助在应用程序调试。图书馆不再需要一个钩,应删除钩程序。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/gdhuman/archive/2008/07/21/2685424.aspx
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式