【问题标题】:Is there a program similar to Spy++ for .NET applications?是否有类似 Spy++ 的用于 .NET 应用程序的程序?
【发布时间】: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++


【解决方案1】:

如果您首先启动 Spy++,然后启动您的 .Net 程序并使用搜索/查找窗口来获取应用程序的句柄,您可能会收到“找不到与搜索条件匹配的窗口”。也许这就是你认为 spy++ 不处理 .Net 应用程序的原因。

只需按 F5 刷新 spy++ 的列表,然后再试一次,现在您应该会得到窗口并可以开始从中接收消息了。

【讨论】:

  • 也许我应该进一步说明;我可以看到我的窗口及其子控件的句柄,但我没有收到任何消息。
  • 可能是你在 64 位下运行的问题,程序是为 64 位还是 32 位编译的?因为它对我有用(而且我在 32 位下运行)
  • 是的,几分钟前我已经想通了,我只是在写最后一篇文章/答案,以将这个问题的失败包装成一个漂亮、丑陋的结。你们一直以来都是对的。
猜你喜欢
  • 2010-12-12
  • 1970-01-01
  • 2010-11-03
  • 2010-10-10
  • 2018-11-22
  • 2010-12-11
  • 2011-04-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多