AutomationFocusChangedEventHandler并不总是触发

时间:2011-09-01 12:49:49

标签: c# internet-explorer

我正在开展一个项目,我希望在Internet Explorer获得焦点或浏览选项卡时通知我的程序。为了更清楚当IE的实例获得焦点或用户选择另一个选项卡时,我希望通知我的程序。

为此,我使用AutomationFocusChangedEventHandler这样:

AutomationFocusChangedEventHandler focusHandler;

private void StartListening()
{
    focusHandler = new AutomationFocusChangedEventHandler(OnFocusChanged);
    Automation.AddAutomationFocusChangedEventHandler(focusHandler);
}

private void OnFocusChanged(object src, AutomationFocusChangedEventArgs e)
{
    AutomationElement ae = AutomationElement.FocusedElement;
    if (ae.Current.ClassName == "Internet Explorer_Server")
    {
        //do something here
    }
}

当我点击IE的不同实例时,它工作正常,但在与标签交互时,使用某些这些标签,onFocusChanged不会触发。使用一些选项卡,它工作正常,但对于其他选项卡它没有(它没有检测到某些选项卡的选项卡更改)。为什么?我错过了什么吗?

0 个答案:

没有答案