我用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;
}
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;
}
把所有的mshtml类都转换为HtmlElement类后 可用
这个怎么转换啊