用c#写bho遇到SHDocVw.WebBrowser的问题

wt3216767 2010-01-11 05:02:32

SHDocVw.WebBrowser webBrowser;//当前浏览器控件
string strFilterKeys="game;sex;stock;hnainfo";//过滤关键字,用;隔开。

private void webBrowser_BeforeNavigate2(object pDisp, ref object URL, ref object Flags, ref object TargetFrameName, ref object PostData, ref object Headers, ref bool Cancel)
{
webBrowser.Navigate("http://www.163.com", ref Flags, ref TargetFrameName, ref PostData, ref Headers);
string strUrl=URL.ToString();

string[] strFilterKeyItems=this.strFilterKeys.Split(new char[]{';'});

foreach(string strFilterKey in strFilterKeyItems)
{
if(strUrl.IndexOf(strFilterKey)>-1)
{
webBrowser.StatusText="未授权访问包含"+strFilterKey+"关键字的地址!";

Cancel=true;
return;
}
}

this.webBrowser.StatusText = strUrl;

}
public int SetSite(object site)
{


if (site != null)
{
webBrowser = (SHDocVw.WebBrowser)site;
webBrowser.BeforeNavigate2 += new DWebBrowserEvents2_BeforeNavigate2EventHandler(webBrowser_BeforeNavigate2);
}
else
{
webBrowser.BeforeNavigate2 -= new DWebBrowserEvents2_BeforeNavigate2EventHandler(webBrowser_BeforeNavigate2);
}

return 0;
}




这里面webBrowser.Navigate("http://www.163.com", ref Flags, ref TargetFrameName, ref PostData, ref Headers);
这句话无论加在哪都不执行是怎么回事呢?能否讲解下SHDocVw.WebBrowser这个类呢?
...全文
734 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
空白画映 2012-03-13
  • 打赏
  • 举报
回复
楼主解决了么,我也遇到你这样的情况了
anjoe1979 2011-01-28
  • 打赏
  • 举报
回复
2332132up
wt3216767 2010-01-12
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 bearmeng 的回复:]
放到窗体加载事件中,没导航应该不会触发webBrowser_BeforeNavigate2
[/Quote]

是webBrowser.DocumentComplete这个事件么?
bearmeng 2010-01-12
  • 打赏
  • 举报
回复
放到窗体加载事件中,没导航应该不会触发webBrowser_BeforeNavigate2
beibeisay88 2010-01-12
  • 打赏
  • 举报
回复
不知道
wt3216767 2010-01-12
  • 打赏
  • 举报
回复
有人知道么。。。。
tzs2304 2010-01-11
  • 打赏
  • 举报
回复
up

110,525

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧