我已经尝试解决这个问题一段时间了,因此非常感谢您提供任何帮助。我在我的客户端中使用 UI 自动化来监视和报告另一个应用程序中的用户选择。我的代码在 Server 2003 上运行良好。然而,在 Server 2008 上,我正在监视的控件被报告为数据网格或列表中的项目。这是非常随机的,我注意到如果我继续在控件中选择行,最终控件将被报告为数据网格。在服务器 2003 上,它总是报告为数据网格,因此我的代码运行完美。
我正在使用 Visual Studio 2010 C# 进行开发。
更新:
我想提一下,我使用 UI Spy 工具得到了相同的结果,因此源代码与这种特定情况无关。
最佳答案
根据几个方面,UltraGrid 会重新创建其句柄(有时甚至相当频繁)...这可能会扰乱 UI 自动化对它的感知...我认为您无能为力在目标应用程序之外...
附加信息:
根据 this,有问题的控件 (Infragistics UltraGrid) 不支持 Windows/MS UI 自动化.
目前唯一支持的自动化解决方案是 TestAdvantage product from the same vendor .
虽然他们似乎正在努力在接下来的几个月内添加对 Windows UI 自动化的支持......
关于c# - Windows UI 自动化 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9180604/