Spy ++ / UISpy,Windows窗体上的对象仅在它们处于活动状态时才存在

时间:2012-12-27 17:03:11

标签: c# visual-studio-2008 automation ui-automation inspector

我正在使用VS2008中的C#.NET应用程序来自动填写另一个第三方应用程序上的表单(无法访问源代码)。我的应用程序使用UIAutomationClient类来执行诸如聚焦或选择表单上的元素之类的操作。我遇到的问题是我需要处理的一些对象只有在有焦点时才可见。例如,如果当前活动元素是列表,我只能从列表中选择一个项目。我的工作就是发送“tab”直到我要找的元素存在(有时表格上有数百个元素)。从技术上讲它是有效的...但必须有一种更优雅的方式来使元素可见。

类似地,我使用UISpy,Inspector和Spy ++(32或64)来帮助识别对象,并且它们只能在活动时识别某些元素。一旦他们失去焦点,他们就不再出现在树上了。我认为这是因为这些应用程序很可能是使用相同的HWND搜索方法开发的。

我的问题是,UIAutomation可以识别这些非活动对象吗?是否有一个钩子或替代类可以暴露它们并以实际方式识别它们?

谢谢,

0 个答案:

没有答案