我在这个包含UIAutomation的stackoverflow线程(IE9 File Download)中有一个提示,它几乎总是有效。
但有时Invoke方法抛出一个异常,说“Hotkey已经注册”(或者(原始)德语:“DieseAbkürzungstasteist 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);
}
}
问:异常消息是什么意思,以及如何避免它?