如何创建一个没有DLL的全局WH_GETMESSAGE HOOK [英] How to Create a global WH_GETMESSAGE HOOK without DLL

查看:142
本文介绍了如何创建一个没有DLL的全局WH_GETMESSAGE HOOK的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试创建一个没有DLL的全局WH_GETMESSAGE HOOK,但是我无法成功。
我的操作系统是Win7 32Bit,这是我的一些代码:

  SetWindowsHookEx(WH_GETMESSAGE,GetMsgProc,GetModuleHandle(NULL) ,0); 

请帮助我,如果你有任何时间。 :)

解决方案

如所记录的


hMod [in] / p>

类型:HINSTANCE



包含lpfn参数指向的挂钩过程的DLL的句柄。如果dwThreadId参数指定当前进程创建的线程,并且挂钩过程与当前进程关联的代码中,则hMod参数必须设置为NULL。


hMod 必须是DLL的句柄。不是EXE。这是因为DLL将被加载到所有正在运行的进程中以被挂接,并且其代码从这些进程中直接运行。


I am trying to create a global WH_GETMESSAGE HOOK without DLL,but I can't success. My OS is Win7 32Bit,This is my some code:

SetWindowsHookEx(WH_GETMESSAGE,GetMsgProc,GetModuleHandle(NULL),0);

Please help me if you have any time. :)

解决方案

As documented,

hMod [in]

Type: HINSTANCE

A handle to the DLL containing the hook procedure pointed to by the lpfn parameter. The hMod parameter must be set to NULL if the dwThreadId parameter specifies a thread created by the current process and if the hook procedure is within the code associated with the current process.

hMod must be a handle to a DLL. Not an EXE. This is because the DLL will be loaded into all running processes to be hooked, and its code run straight from within those processes.

这篇关于如何创建一个没有DLL的全局WH_GETMESSAGE HOOK的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆