![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как скачать себе в программу ярлык сайта? [D7, WinXP]
Dmitry_04 © (2004-11-27 18:08:00)Как скачать себе в программу ярлык сайта и вставить его например в Image? т.е. ярлык который выводится на закладках страниц в Oper-е. Например Яндекса.
Dmitry_04 (2004-12-07 18:23:00) [1]Ой... все я понял... я сначала подумал что 'c:\google.ico' это иконка по умолчанию, а оказывается она сохраняет в нее иконку
Dmitry_04 (2004-12-07 18:16:00) [2]В смысле после выполнения процедуры CopyURLв какой переменной иконка или она в буфере?
Dmitry_04 (2004-12-07 18:14:00) [3]DoltСпасибо тебе. Но я что-то не очень пойму где эта иконка хранится чтобы ее вставить в Image?
Dolt (2004-12-07 10:56:00) [4]Значки лежат в файле favicon.ico, например:
http://www.yandex.ru/favicon.ico
http://www.google.ru/favicon.ico
Т.е. алгоритм следующий: пытаемся получить файл:
Procedure TF.Button1Click(sender:TObject);
begin
CopyURL(' http://www.google.ru/favicon.ico', 'c:\google.ico')
end;
procedure CopyURL(const URL, OutputFile: String);
const
BufferSize = 1024;
var
hSession, hURL: HInternet;
Buffer: Array[0..Pred(BufferSize)] of Byte;
BufferLength: DWORD;
f: File;
begin
hSession := InternetOpen('DrBob',INTERNET_OPEN_TYPE_PRECONFIG,nil,nil,0);
try
hURL := InternetOpenURL(hSession, PChar(URL), nil,0,0,0);
try
Assign(f, OutputFile);
Rewrite(f,1);
repeat
InternetReadFile(hURL, @Buffer, BufferSize, BufferLength);
BlockWrite(f, Buffer, BufferLength)
until BufferLength = 0;
Close(f);
finally
InternetCloseHandle(hURL)
end
finally
InternetCloseHandle(hSession)
end
end;
Удалось - сохраняем в какой-нибудь свой кэш и делаем с ним все что угодно.
Не удалось, выводим какую-нибудь свою иконку "по умолчанию"
Dmitry_04 (2004-12-07 10:29:00) [5]Неужели вообще никто не знает как это сделать???
Dmitry_04 (2004-11-27 22:04:00) [6]а как это сделать? хоть через раз...
TButton (2004-11-27 21:50:00) [7]
> как это делает Opera
через раз она ето делает...
Dmitry_04 (2004-11-27 21:21:00) [8]это же можно как-то сделать... как это делает Opera