帮助我如何从 xp 或更高版本的 Internet 临时文件中复制文件。copyfile not 正在处理它。
我想让它像CopyFileEx(scr, dst):boolean
帮助我如何从 xp 或更高版本的 Internet 临时文件中复制文件。copyfile not 正在处理它。
我想让它像CopyFileEx(scr, dst):boolean
我认为您使用了错误的路径。此文件夹 [ Internet 临时文件] 具有特殊结构,要查看此结构,请尝试使用 [ 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、AntiPhishing…),在文件夹 Content.IE5 下,您还可以找到具有如下随机名称的子文件夹:
<path>temporary internet files\content.ie5\randomfoldername
因此,如果您正在寻找现金文件,您可以在这些随机子文件夹中找到它,但是您必须编写搜索算法来在这些文件夹中搜索您想要的文件,然后您可以使用其真实路径复制它。
编辑:您还可以使用 dos CMD 中的dir命令
查看 [ Internet 临时文件] 目录的真实结构,如下所示:
顺便说一句:不要忘记在 Dos 中使用短路径名称。
使用 IE 缓存的最佳方法是为此使用 WinInet API,在本例中是GetUrlCacheEntryInfo/Ex()
函数。传入原始 URL,它将返回缓存文件的确切本地路径(以及其他内容),然后您可以根据需要复制该路径。还可以查看FindFirst/NextUrlCache...()
枚举缓存内容的函数。