在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的计算机上,一切正常(即使是在有限的帐户上)。
答案 0 :(得分:0)
您确定在限制帐户中正确注册了BHO吗?