0

如何阅读另一个应用程序列表视图和子列表视图?一旦在主视图上单击项目,该程序就有一个主列表视图和一些其他迷你列表视图。

我想创建一个可以读取所有列表视图的应用程序,我该怎么做呢?实现这一目标的最佳方法是什么?

4

1 回答 1

2

有很多方法可以做到这一点。

支持的方式是使用像 UIAutomation 这样的自动化 API,它的编程非常简单。如果其他应用程序正在使用标准的 Windows 列表视图控件,那么它应该可以通过 UIAutomation 访问。如果其他应用程序正在使用非窗口控件(例如 WPF、Qt),那么您依赖于实现对 UIAutomation 的支持的应用程序。

另一种常用的方法是将 Windows 消息发送到列表视图控件。这首先涉及枚举应用程序主窗口的子窗口以找到列表视图窗口。然后,您可以发送控制消息以获取其内容。这听起来很容易,但实际上相当棘手。原因是消息要求您提供指向在其他进程地址空间中有意义的结构的指针。这涉及对OpenProcess, VirtualAlloc,WriteProcessMemory等的调用ReadProcessMemory。要做到这一点非常棘手。

在我看来,您应该选择自动化 API。

于 2013-08-02T19:52:39.410 回答