Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.03.13;
Скачать: CL | DM;

Вниз

Как используя Wininet команды (wininet.dll) очистить кэш?   Найти похожие ветки 

 
JorSand   (2005-01-02 22:23) [0]

Кэш - это то, что винды после закачки файлов по ftp (и не только) хранят в каталогах C:\Documents and Settings\...\Local Settings\Temporary Internet Files\Content.IE5\
дабы ты, при их повторной качке не качал?

ясно что надо юзать DeleteUrlCacheEntry, но что то не получается,
есть ли способ сразу указать не использовать кэш, без этого гемороя (перодической его очисткой)?

Я использую след функции:
InternetOpen -> InternetConnect -> FtpOpenFile -> InternetReadFile

При испоьзовании

hUrl:=InternetOpenUrl(hInet,
                 pchar(xUrl),
                 pchar(Header),
                 strlen(pchar(Header)),                      INTERNET_FLAG_NO_CACHE_WRITE,0);

все работает, но с этой функцией не пашет FtpOpenFile
как быть? Может кто - уже сталкивался с этой проблемой. И еще довесок будет ли в такой связке пахать InternetSetFilePointer (для организации докачки)?


 
Seeker ©   (2005-01-03 16:14) [1]

Наверное так:

procedure ClearCashe;
Var
lpEntryInfo : PInternetCacheEntryInfo;
hCacheDir : LongWord;
dwEntrySize : LongWord;
dwLastError : LongWord;
Begin
dwEntrySize := 0;
FindFirstUrlCacheEntry(NIL,TInternetCacheEntryInfo(NIL^),
dwEntrySize );
GetMem(lpEntryInfo, dwEntrySize);
hCacheDir := FindFirstUrlCacheEntry(NIL, lpEntryInfo^,dwEntrySize);
If ( hCacheDir <> 0 ) Then
DeleteUrlCacheEntry(lpEntryInfo^.lpszSourceUrlName);
FreeMem( lpEntryInfo );
Repeat
dwEntrySize := 0;
FindNextUrlCacheEntry(hCacheDir, TInternetCacheEntryInfo(NIL^), dwEntrySize);
dwLastError := GetLastError();
If (GetLastError = ERROR_INSUFFICIENT_BUFFER) Then
Begin
GetMem(lpEntryInfo, dwEntrySize);
If (FindNextUrlCacheEntry(hCacheDir, lpEntryInfo^,
dwEntrySize)) Then
DeleteUrlCacheEntry( lpEntryInfo^.lpszSourceUrlName );
FreeMem(lpEntryInfo);
End;
Until ( dwLastError = ERROR_NO_MORE_ITEMS );
End;

Можешь чистить выборочно( только то что тебе нужно) так будет быстрее.Если енто не то, пардон.



Страницы: 1 вся ветка

Текущий архив: 2005.03.13;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.041 c
4-1106937007
Лёха
2005-01-28 21:30
2005.03.13
Функция wsprintf...


14-1109085237
X9
2005-02-22 18:13
2005.03.13
2 вопроса по Opera 8


4-1107184514
ANB
2005-01-31 18:15
2005.03.13
Управление другими приложениями


3-1106895363
Бульбаш
2005-01-28 09:56
2005.03.13
Сохранение текущего значения при работе с кэшем


3-1107890484
XAN
2005-02-08 22:21
2005.03.13
QReport+Unicode