读书人

用c#写bho遇到SHDocVw.WebBrowser的有

发布时间: 2012-03-25 20:55:17 作者: rapoo

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

C# code
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这个类呢?

[解决办法]
up
[解决办法]
不知道
[解决办法]
放到窗体加载事件中,没导航应该不会触发webBrowser_BeforeNavigate2

读书人网 >C#

热点推荐