1

xp以上のTemporary Internet Filesからファイルをコピーする方法を教えてください。コピーファイルが動作していません。一時インターネットファイルをコピーする方法はありますか?

は、私は私はあなたが間違ったパスを使用していると思う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のようにそこにいくつかのフォルダを見つけます、Content.MSO、)...フィッシング、フォルダContent.IE5の下に、あなたはまた、このようなランダムな名前のサブフォルダを見つけることができます。

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

あなたは現金のファイルを探しているのであれば、あなたはこれらの中でそれを見つけることができますランダムサブフォルダを検索するために検索アルゴリズムを記述する必要がありますあなたが望むファイル用のフォルダを作成してから、実際のパスを使ってコピーすることができます。

EDIT: enter image description here

ところで::使用することを忘れないでください また、あなたがこのようドスCMDからDIRコマンドを使用して、[インターネットの一時ファイル]ディレクトリの実際の構造を見ることができますDosの短いパス名。

0

IEのキャッシュで作業する最善の方法は、WinInet API(この場合はGetUrlCacheEntryInfo/Ex()関数)を使用することです。元のURLを渡すと、キャッシュされたファイルへの正確なローカルパスが返されます(必要に応じてコピーできます)。また、キャッシュの内容を列挙するための関数FindFirst/NextUrlCache...()を見てください。