已经阅读了很多关于这个的图片,图片变得更加混乱。我有一个32位应用程序安装KeyboardHook等待全局热键并唤醒。在Win 7 x64版本上运行它我注意到当按下热键时它会挂起Outlook x64版本。
所以我做了一些研究,看起来32位键盘钩子甚至不适用于64位应用程序。是时候进行更多测试......
他们的热键可以在64位记事本,字盘和便签中正常工作。我确认这些是64位应用程序,因为它们在任务管理器中没有“* 32”。不挂起应用程序,它做了它应该做的事情。但是等等...... 32位钩子dll无法加载到64位应用程序中,对吗?
查看Process Explorer显示钩子dll甚至没有加载到记事本进程中! (如果我从WOW64目录运行32位notepad.exe,我可以看到加载到进程中的dll,所以我知道我正在使用这些工具。)
所以Outlook悬挂问题可能会或可能不会相关,但为什么钩子甚至可以在64位记事本中工作?
答案 0 :(得分:0)
我有一个32位应用程序,可以安装KeyboardHook来等待全局热键并唤醒。
如果这是您的最终目标,那么只需使用RegisterHotKey就可以更简单,更少对系统产生影响。