1

xp 이상의 임시 인터넷 파일에서 파일을 복사하는 방법을 도와주세요. copyfile이 작동하지 않습니다.임시 인터넷 파일을 복사하는 방법은 무엇입니까?

나는 당신이 잘못된 경로를 사용하여 생각 CopyFileEx(scr, dst):boolean

+5

_가 작동하지 않습니다. 거기에서 무슨 일이 일어나고 있는지 궁금한 점이 없습니다. 정확한 오류 메시지/예외를 추가하는 것을 고려하고 파일을 복사하는 방법에 대한 정보를 포함하는 것을 잊지 마십시오 (어쩌면). 코드 약간) – jachguate

+0

임시 인터넷 파일입니까, 아니면 다른 사용자가 소유 한 버전입니까? 나는 Windows가 다른 사용자의 인터넷 캐시를 읽지 못하도록합니다. –

답변

2

처럼 만들고 싶어. 이 폴더 [인터넷 임시 파일] 특별한 구조 [faAnyFile이 같은 속성으로 검색을 시도,이 구조를 볼 수 있습니다

procedure TForm2.Button2Click(Sender: TObject); 
var 
    path: Array[0..MAX_PATH] of Char; 
    sRec: TSearchRec; 
begin 
    SHGetFolderPath(0, CSIDL_INTERNET_CACHE, 0,0, @path); 
    if FindFirst(PATH+'\*.*', faAnyFile, sRec) = 0 then 
    Begin 
     repeat 
     ListBox1.Items.Add(sRec.Name); 
     until (FindNext(sRec) <> 0); 
     FindClose(sRec); 
    End; 
end; 

당신은이 같은 일부 폴더를 찾을 수 (Content.IE5를 당신이 현금 파일을 찾고 있다면

<path>temporary internet files\content.ie5\randomfoldername 

그래서, 당신이 그것을 찾을 수 있습니다, 경우 Content.mso는 폴더 Content.IE5에서 당신은 또한 다음과 같은 임의의 이름을 가진 하위 폴더를 찾을 수) ... 피싱 임의의 하위 폴더가 있지만 검색 알고리즘을 작성하여 se 폴더에서 원하는 파일을 찾은 다음 실제 경로를 사용하여 복사 할 수 있습니다.

편집 : enter image description here

BTW : 사용하는 것을 잊지 마세요 는 또한 [인터넷 임시 파일]과 같이 도스 CMD에서 디렉토리 명령을 사용하여 디렉토리의 실제 구조를 볼 수 있습니다 Dos의 짧은 경로 이름.

0

IE의 캐시로 작업하는 가장 좋은 방법은 WinInet API (이 경우 GetUrlCacheEntryInfo/Ex() 기능)를 사용하는 것입니다. 원본 URL을 전달하면 캐시 된 파일의 정확한 로컬 경로가 반환되며 (필요시 다른 위치로 복사 할 수 있음) 필요에 따라 복사 할 수 있습니다. 또한 캐시 내용을 열거하기위한 FindFirst/NextUrlCache...() 함수를 살펴보십시오.