На конгрессе программистов зачитывают послание Президента России.... Пожелания удачи, и т.д. А в конце подпись
- "Ваш Президент.Ру"
uses
WinInet;
procedure DeleteIECache;
var
lpEntryInfo: PInternetCacheEntryInfo;
hCacheDir: LongWord;
dwEntrySize: LongWord;
begin
dwEntrySize := 0;
FindFirstUrlCacheEntry(nil, TInternetCacheEntryInfo(nil^), dwEntrySize);
GetMem(lpEntryInfo, dwEntrySize);
if dwEntrySize > 0 then lpEntryInfo^.dwStructSize := dwEntrySize;
hCacheDir := FindFirstUrlCacheEntry(nil, lpEntryInfo^, dwEntrySize);
if hCacheDir <> 0 thenbeginrepeat
DeleteUrlCacheEntry(lpEntryInfo^.lpszSourceUrlName);
FreeMem(lpEntryInfo, dwEntrySize);
dwEntrySize := 0;
FindNextUrlCacheEntry(hCacheDir, TInternetCacheEntryInfo(nil^), dwEntrySize);
GetMem(lpEntryInfo, dwEntrySize);
if dwEntrySize > 0 then lpEntryInfo^.dwStructSize := dwEntrySize;
untilnot FindNextUrlCacheEntry(hCacheDir, lpEntryInfo^, dwEntrySize);
end;
FreeMem(lpEntryInfo, dwEntrySize);
FindCloseUrlCache(hCacheDir);
end;
// Beispiel: // Example: procedure TForm1.Button1Click(Sender: TObject);
begin
DeleteIECache;
end;
Программа на Delphi, которая удаляет временные файлы, хранящиеся в кэше Интернет-Explorer (IE) в директории кэша.
Вот разбивка того, что код делает:
Процедура DeleteIECache:
Использует библиотеку WinInet для взаимодействия с IE.
Найдет первый URL-каталоговый элемент с помощью функции FindFirstUrlCacheEntry и выделит память для него с помощью GetMem.
Если в кэше есть записи, то будет проходить по ним циклом:
Для каждого элемента удаляет соответствующий файл с помощью DeleteUrlCacheEntry.
Освобождает выделенную память для элемента с помощью FreeMem.
Переходит к следующему элементу в кэше с помощью FindNextUrlCacheEntry.
Наконец, закрывает handle каталога URL-кэша с помощью FindCloseUrlCache.
Обработчик события Button1Click:
Вызывает процедуру DeleteIECache, когда кнопка нажата.
Эта программа может использоваться для очистки временных файлов, хранящихся в IE, что может помочь освободить диск и улучшить производительность системы. Однако стоит отметить, что это программное обеспечение только удаляет записи кэша для URL, которые больше не являются действительными или были удалены из истории браузера. Оно не удаляет файлы, которые все еще ссыланы на браузер.
Альтернативное решение:
Вместо перебора всех записей кэша можно использовать интерфейс IInternetCacheManager для получения списка записей и затем проходить по этому списку.
Можно также использовать функцию ShDeleteFile для удаления файлов, а не DeleteUrlCacheEntry. Это позволит удалять файлы, даже если они больше не ссыланы на браузер.
Предложения по улучшению кода:
Переменная dwEntrySize не необходима. Можно просто выделить память для структуры lpEntryInfo без знания ее размера заранее.
Цикл можно упростить с помощью цикла while, а не повторного цикла.
Хорошо бы добавить обработку ошибок для случаев, когда каталог кэша или записи кэша не могут быть доступны.
Удаление временных файлов браузера Internet Explorer с помощью программного кода на языке Delphi.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.