|
usage:
procedure TForm1.Button1Click(Sender: TObject) ;
begin
DeleteIECache;
end;
}
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 then
begin
repeat
DeleteUrlCacheEntry(lpEntryInfo^.lpszSourceUrlName) ;
FreeMem(lpEntryInfo, dwEntrySize) ;
dwEntrySize := 0;
FindNextUrlCacheEntry(hCacheDir, TInternetCacheEntryInfo(nil^), dwEntrySize) ;
GetMem(lpEntryInfo, dwEntrySize) ;
if dwEntrySize > 0 then lpEntryInfo^.dwStructSize := dwEntrySize;
until not FindNextUrlCacheEntry(hCacheDir, lpEntryInfo^, dwEntrySize) ;
end;
FreeMem(lpEntryInfo, dwEntrySize) ;
FindCloseUrlCache(hCacheDir) ;
end;
출처: delphi.about.com
locke 님이 쓰신 글 :
: 제 글을 잘 이해를 못하신거 같네요..
:
: 저런식으로 해서 해당 폴더를 찾아 FindFirst/FindNext로 검색을 하면 실제 탐색기에 보이는 파일들이 안보이고
:
: .
: ..
: Content.IE5
: Content.MSO
: Content.Word
: desktop.ini
: FrontPageTempDir
: SKBGM.cfg
: SKBGM0.che
: SKBGM1.che
: SKBGM2.che
: SKBGM3.che
: SKBGM4.che
: SKBGM5.che
: SKBGM6.che
: SKBGM7.che
: SKBGM8.che
: SKBGM9.che
: SQM
:
: 이런 애들이 나온다는거죠.. 그러니 어떻게 지우냐 이 질문인데..
: 이 파일들은 그냥 DeleteFile로 날려도 여전히 탐색기로 들어가보면
: 예전과 변함이 없습니다. ㅠㅠ
:
: -locke
:
: 000 님이 쓰신 글 :
: : String GetSpecialFolderPath(int nFolder)
: : {
: : LPITEMIDLIST piidl;
: : char path[MAX_PATH];
: : if(SHGetSpecialFolderLocation(NULL,nFolder,&piidl)!=NOERROR) return "";
: : SHGetPathFromIDList(piidl,path);
: : GlobalFree(piidl);
: : if(path[0]) return String(path);
: : else return "";
: : }
: :
: : 임시인터넷파일들삭제()
: : {
: : String path = GetSpecialFolderPath(CSIDL_INTERNET_CACHE);
: : 파일삭제(path);
: : }
: :
: : 디렉터리 안의 모든 파일삭제 방법에는
: : FindFirst / FindNext 등의 함수로 일일이 찾아서 삭제하는 방법도 있고
: : SHFileOperation 함수를 호출해서 일거에 삭제하는 방법도 있습니다.
: :
: :
: : locke 님이 쓰신 글 :
: : : 탐색기로 보면 쿠키파일, 이미지, js파일, php파일등등 나오는데 FindFirst/Next로 검색하면 아래처럼 나옵니다.
: : :
: : : .
: : : ..
: : : Content.IE5
: : : Content.MSO
: : : Content.Word
: : : desktop.ini
: : : FrontPageTempDir
: : : SKBGM.cfg
: : : SKBGM0.che
: : : SKBGM1.che
: : : SKBGM2.che
: : : SKBGM3.che
: : : SKBGM4.che
: : : SKBGM5.che
: : : SKBGM6.che
: : : SKBGM7.che
: : : SKBGM8.che
: : : SKBGM9.che
: : : SQM
: : :
: : : 이거 그냥 날리면 될까요? 캐시파일을 개별로 갖고있는게 아니라 저장소에 넣고 인덱싱 작업을 하는거 같은데..
: : :
: : : -locke
: : :
: : :
: : : locke 님이 쓰신 글 :
: : : : 임시 인터넷 파일 폴더(Temporary Internet Files)의 파일들을 지우고 싶습니다.
: : : :
: : : : 탐색기로 보면 파일들이 많이 나오는데 FindFirst/Next로 가져오면
: : : :
: : : : 전혀 다른 인덱스 파일 10여개만 읽어지네요.
: : : :
: : : : 아마도 다른 인덱스 방식을 뜨는거 같습니다.
: : : :
: : : : 깨끗하게 지우는 방법이 없나요?
|