Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > webbrowser и иконка web-страницы


Автор: camtasia 18.5.2010, 21:00
Здравствуйте!
Ситуация следующая. Как мне из загруженной в webBrowser html-странички вытащить значок страницы?
Заранее спасибо.

Автор: GoldFinch 18.5.2010, 21:39
никак. надо парсить html, получать url иконки, и загружать ее

Автор: camtasia 18.5.2010, 21:43
А пример можно? Если не затруднит.  smile 

Автор: GoldFinch 18.5.2010, 21:51
за готовым кодом - в центр помощи

Автор: sdukshis 19.5.2010, 10:48
Если я Вас правильно понял, то значок страницы располагается по адресу /favicon.ico.
Т.е. это просто файл в формате ico, который лежит в корне сайта.

Автор: azesmcar 19.5.2010, 10:52
Цитата(sdukshis @  19.5.2010,  10:48 Найти цитируемый пост)
Если я Вас правильно понял, то значок страницы располагается по адресу /favicon.ico.
Т.е. это просто файл в формате ico, который лежит в корне сайта. 

как правило, но это не обязательно.
значок устанавливается тэгом
Код

<link href="favicon.ico" type="image/ico" rel="icon" />


Автор: camtasia 20.5.2010, 22:17
Спасибо за ответы!
Ограничился пока таким вариантом:
Код

String^ SF = "http://" + webBrowser1->Url->Host->ToString() + "/favicon.ico";
IntPtr SF1 = Marshal::StringToHGlobalAnsi(SF);
LPCSTR SourceFile = (LPCSTR)SF1.ToPointer();
LPCSTR DestFile = "c:\\favicon.ico";
URLDownloadToFileA(NULL, SourceFile, DestFile, 0, NULL);

С большинства сайтов иконка грузится, разбирать вариант с поиском тега хранения иконки сейчас некогда.

Хотелось бы узнать правильно ли написан данный код, или можно его упростить?

Автор: jonie 21.5.2010, 08:59
camtasia, можно не исползовать C++/CLR, а использовать чистый C++ ....
для разбора вам может подойти простая библиотека - libtidy

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)