procedure TForm1.Button1Click(Sender: TObject); var cache_info:PInternetCacheEntryInfo; cbSizeOf_Cache_info:dword; hw:hwnd; buf:tstrings; begin buf:=tstringlist.Create; new(cache_info); hw:=FindFirstUrlCacheEntryEx(nil,0,NORMAL_CACHE_ENTRY or URLHISTORY_CACHE_ENTRY,0,cache_info,@cbSizeOf_Cache_info,nil,nil,nil); if hw<>0 then begin DeleteUrlCacheEntry(cache_info.lpszSourceUrlName); buf.Add(cache_info.lpszSourceUrlName); while FindNextUrlCacheEntryEx(hw,cache_info,@cbSizeOf_Cache_info,nil,nil,nil) do buf.Add(cache_info.lpszSourceUrlName); DeleteUrlCacheEntry(cache_info.lpszSourceUrlName); end; FindCloseUrlCache(hw); dispose(cache_info); showmessage(buf.Text); buf.Free; end;
to norxi: 老兄:你的原码我试过,一执行FindFirstUrlCacheEntryEx函数,它总是返回0,不知为什么?还有我该如何得到今天的历史记录?
另外文件夹里也有一部分。
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\TypedURLs
"c:\windows\History"
具体可能有所不同。
var
cache_info:PInternetCacheEntryInfo;
cbSizeOf_Cache_info:dword;
hw:hwnd;
buf:tstrings;
begin
buf:=tstringlist.Create;
new(cache_info);
hw:=FindFirstUrlCacheEntryEx(nil,0,NORMAL_CACHE_ENTRY or URLHISTORY_CACHE_ENTRY,0,cache_info,@cbSizeOf_Cache_info,nil,nil,nil);
if hw<>0 then
begin
DeleteUrlCacheEntry(cache_info.lpszSourceUrlName);
buf.Add(cache_info.lpszSourceUrlName);
while FindNextUrlCacheEntryEx(hw,cache_info,@cbSizeOf_Cache_info,nil,nil,nil) do
buf.Add(cache_info.lpszSourceUrlName);
DeleteUrlCacheEntry(cache_info.lpszSourceUrlName);
end;
FindCloseUrlCache(hw);
dispose(cache_info);
showmessage(buf.Text);
buf.Free;
end;
老兄:你的原码我试过,一执行FindFirstUrlCacheEntryEx函数,它总是返回0,不知为什么?还有我该如何得到今天的历史记录?