我在这个包含 UIAutomation 的 stackoverflow 线程(IE9 文件下载)中遵循了一个提示,它几乎总是有效。
但有时 Invoke 方法会抛出一个异常,上面写着“热键已注册”(或在(原始)德语中:“Diese Abkürzungstaste ist bereits registriert”)。
这是关键代码部分(与上面提到的线程中的代码相比有所修改):
bool bInvoke = (bool)element.GetCurrentPropertyValue(AutomationElement.IsInvokePatternAvailableProperty);
if (bInvoke)
{
InvokePattern click = element.GetCurrentPattern(InvokePattern.Pattern) as InvokePattern;
try
{
click.Invoke();
}
catch (Exception e)
{
MessageBox.Show("Invoke error! "+e.Message);
}
}
问:异常信息是什么意思,如何避免?