【发布时间】:2013-10-13 22:24:48
【问题描述】:
我环顾四周,没有找到适合我需要的东西。 我希望该程序能够拦截发送到我自己的应用程序的 Win32 (?) 消息,该应用程序是用 Visual Basic 编写的。
作为旁注,“拦截 Win32 消息”是正确的措辞吗?
无论哪种方式,详细说明都不会受到伤害;我希望 spy 工具能够拦截与 WndProc 以编程方式拦截的相同消息,即:SendMessages 和 PostMessages。
我想明确表示我不是在寻找拦截 .NET 框架事件的程序。
谢谢。
编辑: 我可以看到我的窗口及其子控件的句柄,但我没有收到任何消息。 我正在使用 Windows 7 64 位。 我的 Spy++ 版本是 8.00.50727
半解决;我有一个 Spy++ 替代品 (Window Detective) 可以在我的虚拟机上工作,我对此非常满意,并且绝对不会介意安顿下来。
虽然我仍然想知道为什么我发现的所有“类似间谍”的程序都不能在我的“主”PC 上运行……但我想我不必在意。
【问题讨论】:
-
它似乎不想“监视”我的应用程序...我的印象是 Spy++ 仅适用于本机程序。
-
我会排除 Spy++ 对 .net 应用程序同样有效,因为消息是通过相同的 win32 api 发送的。但我承认,我现在懒得自己测试了。
-
如果您在 spy++ 之后启动程序,您可能需要刷新窗口 (F5),以便您的程序在窗口列表中。那么接收消息应该没有问题。
-
@CodeInChaos,我刚刚测试过,它可以正常工作。从 .Net-programs 接收消息完全没有问题。
-
我在 Spy++ 之前启动我的程序,执行 Spy > Log Messages (Ctrl + M),然后提示我选择一个窗口。我将查找工具拖到我的程序上,选择主窗体,而不是它的子控件。我在窗口中看到了窗口的信息显示(标题文本等),为了额外的措施,我确保在“附加窗口”下,除了“系统中的所有窗口”之外,所有的东西都被选中。在消息选项卡下,我确保通过记录选择所有内容,然后点击“确定”。我仍然没有看到任何消息。我使用的是 Windows 7 64 位。
标签: .net vb.net winapi wndproc spy++