窗口挂钩在 Windows 7 中不起作用,但在 Windows xp 中不起作用

Posted

技术标签:

【中文标题】窗口挂钩在 Windows 7 中不起作用,但在 Windows xp 中不起作用【英文标题】:Window hook is not working in Windows 7 but in Windows xp 【发布时间】:2011-11-30 04:54:45 【问题描述】:

我们正在将我们的应用程序从 windows xp 迁移到 windows 7。其中一个应用程序是窗口和鼠标挂钩。相同的代码在 windows xp 中运行良好,但在 windows 7 目标机(安装了我们自己的软件平台的 windows 7)中无法运行。

一个重要的事情是它在我装有 Windows 7 操作系统的个人笔记本电脑上运行良好

我不知道发生了什么......

请帮我解决这个问题...

【问题讨论】:

【参考方案1】:

Windows 7 中增加了安全功能,这可能就是您遇到的问题。尝试在目标机器上以管理员身份运行您的应用(右键单击,以管理员身份运行)。

我自己没有在 Win7 中尝试过这样的钩子,但是我看到从 XP 到 Vista 盒子发生了这种情况。

【讨论】:

对不起-1,错误发生了,现在无法撤消。【参考方案2】:

我找到了答案。实际上,我们的应用程序确实挂钩了我们创建的每个进程。我创建了 32 位 dll。目标机器是 64 位的,所以每个进程都是 64 位的。所以它试图将我的钩子 dll(32 位)加载到 64 位进程中。我们无法将 32 位 dll 加载到 64 位 exe 中...... :)

【讨论】:

以上是关于窗口挂钩在 Windows 7 中不起作用,但在 Windows xp 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

while 循环在 useEffect 挂钩中不起作用

AppSearch 在 Windows 7 中不起作用

将 win32 托管到 wpf 在 Windows 7 中不起作用

为啥 SetTimeZoneInformation 在 Windows XP 中不起作用?

为啥 DirectX Device Present 钩子在弯路中不起作用?

自动热键像素搜索在 Windows 8.1 中不起作用