在此链接的帮助下,我创建了一个 BHO 应用程序。
如果我 Build 上面文章中得到的源代码,CPU 使用率提高到 70-80%。
我怎样才能减少这种情况?
在上面的文章中,我使用了 progresschange 事件处理程序,而不是 Document complete 事件处理程序。
在 foreach 循环中,我曾经检查网页的每个标签的标签名,在构建上述代码时(或在注册 dll 之后),CPU 使用率从 10% 到 80% 持续增加,如果有可能会导致问题是包含大量数据(元素)的网页.....
我想避免这种情况,是否有任何方法可以让我获取网页中存在的所有标签的所有标签名。请提出一些建议,以便我可以避免这个问题。谢谢...导致问题的代码是粗体字符。对于找到的每个标记元素,它都显示包含标记元素标记名的消息框。
我遇到问题的代码是:
public void onProgressChange(int Progress, int ProgressMax)
{
document = (HTMLDocument)webBrowser.Document;
foreach(IHTMLElement tempElement in (IHTMLElementCollection)document.documentElement.all)
{
System.Windows.Forms.MessageBox.Show(" Tagname:"+ tempElement.tagname);
}
}
public int SetSite(object site)
{
if (site != null)
{
webBrowser = (WebBrowser)site;
webBrowser.ProgressChange += new DWebBrowserEvents2_ProgressChangeEventHandler(this.onProgressChange);
}
else
{
webBrowser.ProgressChange = new DWebBrowserEvents2_ProgressChangeEventHandler(this.onProgressChange);
webBrowser = null;
}
return 0;
}
此事件重复生成。如何降低 CPU 使用率?