Показать сообщение отдельно
  #7  
Старый 10.10.2010, 17:09
Аватар для dr. F.I.N.
dr. F.I.N. dr. F.I.N. вне форума
I Like it!
 
Регистрация: 12.12.2009
Адрес: Россия, г. Новосибирск
Сообщения: 663
Версия Delphi: D6/D7
Репутация: 26643
По умолчанию

Недостаток того что выше: любая картинца сохраниться как BMP. А если анимированный ГИФ и т.п.?

Вот что нашел:
Код:
function GetCacheFileName(const Url: string; var FileName: string): Boolean;
var
  Info: PInternetCacheEntryInfo;
  InfoBufSize: Cardinal;
begin
  Result := False;
  InfoBufSize := 0;
  GetUrlCacheEntryInfo(PChar(Url),
    TInternetCacheEntryInfo(nil^), InfoBufSize);
  if GetLastError = ERROR_INSUFFICIENT_BUFFER then begin
    GetMem(Info, InfoBufSize);
    try
      Result := GetUrlCacheEntryInfo(PChar(Url),
        TInternetCacheEntryInfo(Info^), InfoBufSize);
      if Result then begin
        FileName := Info^.lpszLocalFileName;
      end;
    finally
      FreeMem(Info);
    end;
  end;
end;
Этот код возвращает имя файла в кеше по УРЛ. Таким образом, можно код и поста выше доработать так:
1. Получаем список всех картинок на странице
2. В цикле пробегаем все и смотрим их УРЛ.
3. По УРЛ получаем имя в КЭШе и копируем из КЭШа куда нам надо

Спасибо интернету.
Ответить с цитированием