我想设置一个全局钩子,该钩子与所有线程相关,设置钩子的函数为SetHook,该函数为动态链接库Hook.dll导出的一个函数,里面有SetWindowsHookEx函数
在应用程序中调用SetHook来设置这个全局钩子,现在遇到的问题是,由于钩子就是消息,当我在程序中调用SetHook后,其它程序并不马上将Hook.dll加载到自己的进程地址空间中,我需要在我设置完全局钩子后即调用SetHook后,所有的进程能马上加载Hook.dll到自己的进程地址空间中,应该如何做?
我的想法是在SetHook中设置完钩子后,马上给所有进程发送该钩子相关的消息,以此让所有进程加载Hook.dll
Hook.dll文件
SetHook()
{
SetWindowsHookEx(WH_SHELL, ShellProc, hDll, 0);//参数略
SendMessage(HWND_BROADCAST,WM_CREATE,0,0);;//给所有进程发送消息
}
但调试程序还是没有完全映射
在应用程序中调用SetHook来设置这个全局钩子,现在遇到的问题是,由于钩子就是消息,当我在程序中调用SetHook后,其它程序并不马上将Hook.dll加载到自己的进程地址空间中,我需要在我设置完全局钩子后即调用SetHook后,所有的进程能马上加载Hook.dll到自己的进程地址空间中,应该如何做?
我的想法是在SetHook中设置完钩子后,马上给所有进程发送该钩子相关的消息,以此让所有进程加载Hook.dll
Hook.dll文件
SetHook()
{
SetWindowsHookEx(WH_SHELL, ShellProc, hDll, 0);//参数略
SendMessage(HWND_BROADCAST,WM_CREATE,0,0);;//给所有进程发送消息
}
但调试程序还是没有完全映射
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货