在 64 位系统上挂钩 64 位和 32 位进程是否有某种秘密?
在我目前正在编写的应用程序中,我需要能够挂钩 64 位进程。挂钩 32 位进程在 64 位和 32 位系统上工作得很好,但是在尝试挂钩 64 位应用程序时不会收到任何消息。
在有人告诉我不应该做这样的事情之前,让我解释一下这对我来说是一件非常必要的事情。如果没有设置全局系统挂钩,我的应用程序将毫无用处/毫无意义。
此应用程序是用 C#/WPF 编写的,但是使用 C++ dll 来执行实际的挂钩。我已经尝试为 64 位系统编译 dll,尽管它仍然没有做它应该做的事情。当为 32 位系统编译和运行时,它完全可以正常工作。
*编辑:: 我说的是挂钩窗口消息 - WH_CBT & WH_SHELL 消息