从32位应用程序挂钩64位进程

时间:2014-02-14 21:12:00

标签: c++ windows hook 32bit-64bit

我正在使用SetWindowHookEx将DLL加载到另一个进程中,但我需要能够连接到32位和64位进程。我想我需要两个单独的DLL,但我可以不创建两个版本的“启动器”应用程序吗?我需要将DLL句柄传递给SetWindowsHookEx,但我无法使用LoadLibrary来获取它。

1 个答案:

答案 0 :(得分:1)

使用进程外COM +对象来托管DLL。您可以使用此方法从32位调用64位代码,这样大多数启动程序代码保持不变,除了if语句,您决定加载32位或64位COM +对象。可以对对象进行编码,以将适当版本的DLL加载到进程中,一个用于64位进程,一个用于32位。