|
안그래도 제가 이 델파이 소스를 C++용으로 바꿔서 테스트 해봤는데요.
100% 적용이 안됩니다. 안지워지는데는 안지워지구요.
지워질때도 보면 일부만 지워지더군요.
그래서 여기다 글을 남긴겁니다. ㅠㅠ
-locke
ps: 제가 갖고있는 소스랑 같은건줄 알았는데 아주 약간 다르네요. 한번 적용시켜 보겠습니다.
kylix 님이 쓰신 글 :
: 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여개만 읽어지네요.
: : : : :
: : : : : 아마도 다른 인덱스 방식을 뜨는거 같습니다.
: : : : :
: : : : : 깨끗하게 지우는 방법이 없나요?
|