我正在使用Microsoft UI Automation,并且存在一些问题,其中之一是我想知道AutomationElement是否仍然存在。更准确地说,我想检查窗口是否已关闭。我认为这是此类问题最常见的情况,我尝试了不同的情况,最终得到了一个解决方案,在该解决方案中,我尝试访问元素的不同属性,并查看它是否引发ElementNotAvailableException。我还偶然发现了一个名为IsOffscreen的属性,在这种情况下,它似乎非常有用。但是,由于我在网上找不到太多关于此的信息,所以我想知道是否有更好的解决方案。最近几天,我对框架不太满意,因为它对我来说似乎非常不稳定(尤其是在找到AutomationElement时)。也许您可以帮助我获得更多实现方面的专业知识。

非常感谢你

马塞尔

最佳答案

在获取AutomationElement之前,您可能会捕获ElementNotAvailableException

try
{
  var info = automationElement.Current;
  var name = info.Name;
}
catch (ElementNotAvailableException) {}

关于c# - AutomationElement还活着吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30185789/

10-10 19:42