Главная страница
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
Время: 1.115 c
4-1106132766
MLM
2005-01-19 14:06
2005.03.13
Уровень загрузки системы процессом


9-1103540530
webpauk
2004-12-20 14:02
2005.03.13
DirectDraw


9-1103379826
йцуеук
2004-12-18 17:23
2005.03.13
Угол между векторами?


14-1108885148
__max__
2005-02-20 10:39
2005.03.13
Шифрование файлов в ф.с. NTFS


1-1109357343
KyRo
2005-02-25 21:49
2005.03.13
Параметр в программу при запуске