外部应用程序 - 网格内的鼠标单击事件



我有一个外部Windows应用程序(没有源代码),里面有一个网格。这将作为一个单独的进程运行。当用户通过鼠标单击选择网格中的单元格时,我需要能够读取该单元格中的值。任何人都可以提供一些指导,说明我需要使用什么 API 才能捕获和侦听事件?

最佳选择是UI 自动化概述或辅助功能作为旧技术。

你也可以看看这个 Pinvoke SetFocus 到一个特定的控件,了解如何在另一个进程上调用东西(几乎与自动化无关,自动化工作没有那个)

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

最新更新