Я создал приложение BHO с помощью этой ссылки .
Если я создаю исходный код, полученный в статье выше, загрузка ЦП увеличивается до 70-80%.
Как я могу уменьшить это?
В приведенной выше статье вместо обработчика событий «Полный документ» я использовал обработчик событий progresschange.
В цикле foreach я использовал для проверки тэга каждого тэга веб-страницы, при создании вышеуказанного кода (или после регистрации DLL) загрузка ЦП увеличивалась с 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;
}
Это событие генерируется повторно. Как уменьшить загрузку процессора?