有没有办法坚持UIAutomation元素?

Res*_*ict 1 c# microsoft-ui-automation

我在Windows 7(64位)上使用MS UIAutomation.我想知道是否有可能使UIAutomation元素持续存在,如果是这样,那么可能是起点.

我想出的唯一的东西是元素的RuntimeID,但问题是某些元素可能没有id.

我想要实现的一个简单场景是,我通过使用AutomationElement.FromPoint()它来找出屏幕上控件的UIAutomation元素,现在我想要保留它,以便下次我可以通过"加载"它来轻松访问它UIAutomation Element.

Rob*_*SFT 5

不,您无法从自动化客户端持久保存UIAutomation元素.您需要存储有关元素的足够信息(AutomationID和上下文是最好的,如果可用的话),以便下次再次找到它.

该元素是(可能)某个其他进程中对象的引用,只有其他进程允许它才能生存.当窗口关闭,应用程序关闭等元素可能会消失.等菜单和弹出窗口等元素可能非常短暂,并且在客户端收到通知时可能不再存在.