Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как скачать себе в программу ярлык сайта? [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


Наверх

Титульная страница Поиск, карта сайта Написать письмо