我用vs2005 的webBrowser 开发了一个自动点击回复的一个小软件,在我本机测试都正常,可是,生成安装包后,安到其他的机器,就不好用了,。net框架也装了,就是,不触发 link_HTMLAnchorEvents2_Event_onclick这个事件,请各位大虾帮俺处理一下阿,     
        private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {          foreach (HtmlElement link in webBrowser1.Document.Window.Frames["mainFrame"].Document.All)
            {                if (link.DomElement.GetType() == typeof(mshtml.HTMLAnchorElementClass))
                {
                    ((mshtml.HTMLAnchorElementClass)link.DomElement).HTMLAnchorEvents2_Event_onclick += new HTMLAnchorEvents2_onclickEventHandler(link_HTMLAnchorEvents2_Event_onclick);
                }
            }        }        public bool link_HTMLAnchorEvents2_Event_onclick(mshtml.IHTMLEventObj pEvtObj)
        {
            strUrl = ((mshtml.HTMLAnchorElementClass)pEvtObj.srcElement).href;            for (int i = 0; i < jlclass.SendUrlNameValue.Length; i++)
            {
                for (int j = 0; j < jlclass.SendUrlNameValue.Length; j++)
                {
                    if (jlclass.SendUrlNameValue[j] == strUrl)
                    {
                        return true;
                    }
                }                if (jlclass.SendUrlNameValue == null)
                {
                    jlclass.SendUrlNameValue = strUrl;
                    return true;
                }            }            return true;
        }

解决方案 »

  1.   

    我又差了些资料  
    把所有的mshtml类都转换为HtmlElement类后 可用
    这个怎么转换啊
      

  2.   

    关键在于webBrowser1_DocumentCompleted 这个事件压根没触发,而不是不产生你所说的那个事件,我都试了N台机器了.都不行,甚至我VS2008写的程序,放到没装VS 2008但装了.NET FORMWORK的机器也不响应,我再装上VS2008还是不响应.但是我试过VS 2005写的程序,放到没装2005的机器上没响应,装上VS 2005后就响应了.也没提示错误,它就是不理你,干微软了...到现在我也不知道怎么回事.就因为这个我的商业软件发布不了了.我总不能让客户你都给我装上2005吧.我日!几个G的东西.