このリンクを使用して BHO アプリケーションを作成しました。
上記の記事で入手したソースコードをビルドすると、CPU 使用率が 70 ~ 80% に増加します。
どうすればこれを減らすことができますか?
上記の記事では、Document complete イベント ハンドラーの代わりに、progresschange イベント ハンドラーを使用しました。
foreach ループでは、Web ページのすべてのタグのタグ名をチェックしていましたが、上記のコードをビルドしている間 (または dll を登録した後)、CPU 使用率が 10 ~ 80% から増加し続けていました。多くのデータ(要素)を含むWebページです.....
これを避けたいのですが、Web ページに存在するすべてのタグのすべてのタグ名を取得できる方法はありますか? この問題を回避できるような何かを提案してください。ありがとう... 問題を引き起こすコードは太字です。見つかったタグ要素ごとに、タグ要素のタグ名を含むメッセージ ボックスが表示されます。
問題が発生するコードは次のとおりです。
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使用率を下げるには?