【发布时间】:2012-07-11 23:04:57
【问题描述】:
在window7 64bit 上使用键盘挂钩时出现问题。 我做这些事情: 1.创建一个32位的dll 2. 加载到应用程序并设置WindowHookEx
我已经成功挂接到 32 位应用程序(Y!M、Skype...),但是当我挂接到我的桌面或任何 64 位应用程序(记事本)时,该应用程序会冻结,直到我停止挂接应用程序。 我创建了 64 位 dll,在上面做同样的事情,并且在 32 位进程中遇到了同样的问题。
所以,我认为问题出在我的 32 位 dll 中,无法注入 64 位进程。但是我不知道如何在窗口关注它时注入 64bit dll 来处理它。
我想知道有什么方法可以做到这一点,以及如何做到这一点。或者我可以只挂接32位进程而不挂接64位进程,你能告诉我怎么做吗? 谢谢。
【问题讨论】:
-
您需要创建一个 64 位应用程序来挂钩 64 位进程。所以你基本上需要 3 个进程,一个用于挂钩 32 位应用程序,一个用于 64 位应用程序,一个用于协调它们。通过使用低级键盘钩子来避免这一切,它不需要注入 DLL。