0

我有一个外部 Windows 应用程序(无源代码),其中有一个网格。这作为一个单独的进程运行。当用户通过鼠标单击在网格中选择一个单元格时,我需要能够读取该单元格中的值。任何人都可以就我需要使用哪些 API 来捕获和监听事件提供一些指导吗?

4

1 回答 1

1

您最好的选择是UI 自动化概述或可访问性作为旧技术。

您还可以查看此Pinvoke SetFocus 以了解如何在另一个进程上调用事物的特定控件(与自动化几乎无关,自动化工作没有那个)

UI 自动化是这项工作的最佳工具,缺点是并非每个应用程序都支持它 - 所以这在很大程度上取决于您的目标应用程序。有些只支持遗留的可访问性(IAccessible、IAccessible2 等),通常有一种“组合”方法。较旧的技术不再工作得很好,但您可以尝试在目标窗口中遍历窗口、子窗口(对于那个方向,您可能迟早需要上述技术)并希望您可以从标准控件、窗口中获得它文本,通过消息等

于 2012-04-17T16:03:43.097 回答