Skip to main content
 首页 » 编程设计

c#之当 IE 未在 Windows 7 上以管理员身份打开时,不会触发 WebBrowser 事件

2024年01月02日39sharpest

在装有 Win7 的机器上注册 BHO 后,我意识到出了点问题。当 IE 以管理员身份未打开时,不会触发 WebBrowser 的 OnBeforeNavigate2 和 OnDocumentComplete 事件。当我以管理员身份运行 IE 时,这些方法被正确触发。我通过以下方式订阅这些方法:

    public int SetSite(object site) 
    { 
        if (site != null) 
        { 
            webBrowser = (WebBrowser)site; 
            webBrowser.DocumentComplete += new DWebBrowserEvents2_DocumentCompleteEventHandler(this.OnDocumentComplete); 
            webBrowser.BeforeNavigate2 += new DWebBrowserEvents2_BeforeNavigate2EventHandler(this.OnBeforeNavigate2); 
 
        } 
        else 
        { 
            webBrowser.DocumentComplete -= new DWebBrowserEvents2_DocumentCompleteEventHandler(this.OnDocumentComplete); 
            webBrowser.BeforeNavigate2 -= new DWebBrowserEvents2_BeforeNavigate2EventHandler(this.OnBeforeNavigate2); 
        } 
        return 0; 
    } 

UAC功能默认开启。 在装有 Windows XP 的机器上一切正常(即使是在受限帐户上)。

请您参考如下方法:

您确定 BHO 已在受限帐户上正确注册吗?