我正在开发一款用于测试自动化的软件。要使其正常工作,需要“查看”桌面和所有打开的窗口。它需要知道打开了哪些窗口以及它们包含哪些控件。所以它必须做一些类似于 Spy++ 正在做的事情(来自 Visual Studio 的 Spy++)。 有谁知道 Spy++ 是如何获取所有信息的? 是否可以调用任何 Windows 方法来检索有关打开的窗口的信息?
最佳答案
您可以使用 EnumWindows获取所有顶级窗口。在 lpEnumFunc
中,您可以调用 FindWindowEx获取每个顶级窗口的子窗口/控件,然后获取任何其他为您提供所需信息的有趣功能,例如GetClassName , GetClassInfo , GetClientRect等等等等看看here更多
关于windows - Spy++ 等软件如何获取信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/764960/