在装有 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 已在受限帐户上正确注册吗?
