问题标签 [spy++]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1080 浏览

winapi - 如何`FindWindow`一个没有出现在Spy ++中的窗口?

我正在使用 IDA Pro 调试一个 Windows 应用程序,我看到它有一次调用FindWindowA并成功地找到了一个具有给定类名的窗口。

但是,当我使用 Spy++ 定位具有给定类名的窗口时,它似乎不存在于任何地方,我找不到它。

我想知道如何找到应用程序在调用时以某种方式在内部找到的同一个窗口FindWindowA?我想知道为什么我的外部应用程序找不到相同的窗口...

0 投票
1 回答
1217 浏览

windows-8 - 在 Windows 8 中使用 Spy++

我正在 Windows 8 中编写程序。
现在我在使用 SPY++ 时遇到了一个问题。

通常,我们可以在 Windows 7 中从 SPY++ 获得“Window Proc”。
但在 Windows 8 中,我只能获得“(不可用)(Unicode)”。
我尝试过的程序是“安装向导”。

有没有人也遇到过熟悉的问题?
我该如何处理?

0 投票
0 回答
47 浏览

windows - Spy++ 图标的含义是什么

可能重复:
为什么某些项目在 Spy++ 的 Windows 视图中显示为灰色?

有谁知道 Spy++ Window View 中不同的图标是什么意思?有些是灰色的,有些不是。我无法根据 Spy++ 为窗口显示的属性找出差异。

在此处输入图像描述

0 投票
1 回答
1908 浏览

c# - 在 Spy++ 中,控件的名称是什么值?

我正在使用 System.Windows.Automation 从组框中的标签中获取一些 UI 控件文本值。我正在尝试使用 spy++ 来获取我正在寻找的控件名称。

在此处输入图像描述

什么值代表我要搜索的内容?例如,我会将其更改为... ...AutomationIdProperty,"Window 00031BB0"));

我不确定 spy++ 提供的所有信息实际上代表什么。

感谢您的任何帮助!

0 投票
1 回答
187 浏览

windows - Spy++ 中“上一个窗口”的常量是什么?

在 Spy++ 中,您可以单击列表中的窗口,然后右键单击它,选择“属性”,您将看到一个选项卡窗口,您可以在其中选择选项卡“Windows”。

在此窗口中,您可以看到“下一个窗口”、“上一个窗口”、“父窗口”等选项。

如果单击“上一个窗口”,它将显示上一个窗口,但我不确定 Spy++ 以何种方式确定“上一个窗口”实际上是什么。

我认为 Spy++ 可能会通过使用像 GW_PREVIOUS 这样的常量来查找上一个窗口,但是没有这样的常量。

在这种情况下,Spy++ 如何或做什么?还是仅使用窗口的 z 顺序?

谢谢你。

0 投票
2 回答
1942 浏览

automation - ToolStrip 按钮点击问题的自动化

我正在尝试使用 vb.net 自动化 Windows 窗体应用程序。我没有想要自动化的程序的源代码。

使用 Spy++,到目前为止,我一直在使用按钮的句柄,并且一直在单击按钮而没有问题。但是,我偶然发现了工具条按钮的问题,我一直在努力解决它。这些按钮是隐藏的或不可见的(从我读过的内容来看),它们没有出现在 spy++ 中,所以它们似乎没有句柄;因此,我不能使用按钮的句柄来单击它,因为它不存在。

为了解决这个问题,我不得不将鼠标光标移动到特定的屏幕位置,重新定位窗口并启动鼠标单击事件。这种方法不是最好的,因为在自动化代码运行时无法使用鼠标。任何人都可以提出替代方案吗?我已经在互联网和这个网站上搜寻了三天的解决方案,但没有成功。

任何帮助,将不胜感激。

0 投票
1 回答
2550 浏览

c++ - 我无法使用 FindWindowEx() 来查找控件

我想用 VC 打开 Microsoft Security Essential 程序并单击 Scan now 按钮。我可以找到窗口但找不到控件。这是我的代码,当我运行此代码时它显示 Control not found 。我尝试通过单击“运行”程序中的“浏览”按钮来测试此代码,它可以工作,但是当我尝试与 Microsoft Security Essential 一起使用时,它找不到控件。我不知道为什么这个控件可能在 Tab 中。如何使用 FindWindowEx() 单击 Microsoft Security Essential 中的立即扫描按钮?

我在 Microsoft Security Essential 中使用带有按钮的 Spy++,它显示如下

但它没有找到控制。

0 投票
1 回答
1576 浏览

wpf - 如何知道要在 FindWindowByClassName InnoSetup 函数中使用的 WPF 应用程序的类名

在 InnoSetup 中,有一个函数“FindWindowByClassName”可以知道程序是否已经在使用中。就我而言,我想在运行 InnoSetup 更新之前知道我的 wpf 应用程序是否正在使用中,但我不知道如何知道我的 wpf 应用程序类名。当我在我的应用程序中使用 Spy++ 时,类名是:

如您所见,我的类名中有一个 GUID,并且此 GUID 在每次启动时都会更改。但无论如何,当我运行 InnoSetup(在调试模式下)时,FindWindowByClassName 函数在我使用这个类名时返回 0。

我尝试只使用“MyProgram.exe”,但该函数总是返回 0(在测试期间启动应用程序“MyProgram.exe”)。你有什么想法来解决这个问题吗?我可以在我的 wpf 代码中设置类名吗?

0 投票
1 回答
1620 浏览

c# - C# 中的本机窗口层次结构和类名

我正在创建一个函数来查找给定窗口层次结构的特定窗口,如下所示:

这只是粗略的代码,但目标是使用[Window]类创建层次结构并查看使用的实际层次结构是否[EnumChildWindows]匹配。这显然工作正常,但我遇到了这个 SO 问题,Hans Passant 的评论"Every unique window in a desktop session must have a unique Windows class name",我不知道如何解释它(参见下图以获取具有相同类名的多个窗口)。也许他提到的仅适用于托管代码(WinForms、WPF 等)。

此外,我不确定如何检索窗口的类名和文本,因为我有 Spy++ 的句柄(hWnd)(见下图)。请注意如何在树视图中检索文本,而不是在[Find Window]对话框中检索文本。

间谍++

问题:

  • 由于我只针对本机应用程序,我应该担心 Han 的评论吗?
  • 如何获取给定窗口句柄的类名?
  • 如何在给定窗口句柄的情况下获取窗口文本(如图所示)?
0 投票
1 回答
256 浏览

c# - 如何强制文本框更新其文本

所以我已经浏览了大约五到十个关于使用一系列命令将文本设置到文本框中的 stackoverflow 问题。我已经尝试过 SetWindowText、带有 EM_SETSEL 和 EM_REPLACESEL 的 SendMessage,以及其他一些我想不出来的东西。在大多数情况下,我都是成功的,除了一件奇怪的事情。

当我设置这个特定文本框的文本时,什么都没有出现,没有任何变化。起初我以为我没有正确设置数据。但是,当我使用 Spy++ 或 Winspector 查看文本框的文本时,我所做的更改的正确数据在那里,但不会显示在实际的文本框中。更奇怪的是,当我用我“编辑”的文本框点击返回表单时,spy++ 和 Winspector 的数据会更改为文本框显示的内容。

我和我的一个朋友谈过,他提到这可能是一种比赛条件。我正在尝试编辑此框,并且文本框也正在由其他线程编辑。

如果有人有任何建议,我将不胜感激。

编辑:好的,所以我做了更多的研究来研究导致文本变回问题的原因。我打开 Winspector 并让它观看文本框。从那里我能够识别在文本数据最后一次正确到第一次更改之间发送到窗口的消息。我还将结果导出到带有参数的 xml 文档,但它大约有 680 行长。

以下是消息列表:http: //i.imgur.com/SBCFHK8.png