为什么有些窗口没有收到Windows消息

时间:2015-03-01 04:06:15

标签: windows messages windows-messages

在Visual Studio上使用Spy ++工具我可以看到桌面或资源管理器(文件资源管理器)等窗口接收WM_消息,但Firefox或Visual Studio等窗口不接收消息。

为什么有些人接收信息而其他人不接受。

(通过WM_消息,我的意思是,WM_MOUSELEAVEWM_SETCURSOR

2 个答案:

答案 0 :(得分:8)

Spy ++需要注入一个钩子来监视窗口消息。为此,钩子函数的位数需要与拥有窗口的进程的位数相匹配,因此您应该使用32位版本的Spy ++来监视32位应用程序的窗口和64位版本监视64位应用程序。

(毕竟,为什么要安装两个版本的Spy ++)

答案 1 :(得分:0)

我在64位Windows上运行VS 2017。我从IDE工具菜单中使用了spy ++,但它不记录消息。 然后我看到Ben Voigt的答案并检查版本,它是x86版本。 vs 2017 ide位于program files(x86)目录中。 因此,我环顾四周,尝试下载x64版本的spy ++,但失败了。当我尝试安装vs2019时无法选择x86或x64。 最后,我发现在与spy ++ x86版本相同的目录中有一个spy ++ x64版本spyxx_xxx64.exe。工具菜单以某种方式选择了错误的菜单。 因此,如果您遇到与我相同的问题,只需找到x64版本的spy ++并将其固定在某个地方即可。