我有一个外部的windows应用程序(没有源代码),里面有一个网格。这将作为一个单独的进程运行。当用户通过鼠标单击选择网格中的一个单元格时,我需要能够读取该单元格中的值。谁能提供一些关于我需要使用什么API才能捕获和侦听事件的指导?
发布于 2012-04-18 00:03:43
您最好的选择是UI Automation Overview或可访问性,就像旧技术一样。
你也可以看看这个Pinvoke SetFocus to a particular control,看看如何在另一个过程中调用东西(几乎与自动化无关,自动化是没有的)。
UI自动化是最适合这项工作的工具,然而,缺点是并不是每个应用都支持它-所以这在很大程度上取决于你的目标应用。有些只支持传统的可访问性(IAccessible、IAccessible2等),通常有一种“组合”的方法。旧的技术不再有效,但你可以尝试遍历窗口,目标窗口中的子窗口(对于这个方向,你迟早会需要上面的技术),并希望你能从标准控件,窗口文本,通过消息等获得它。
https://stackoverflow.com/questions/10194783
复制相似问题