求救IE历史记录读取 IE浏览过的历史记录保存在这里C:\Documents and Settings\username\Local Settings\History\History.IE5\index.dat 怎么读取里面的内容 谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我有源码,但是不是读文件,是用API做的……不过看你这结贴率………………有点担心 unit Unit1;interfaceuses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,wininet, StdCtrls, ComCtrls, Buttons;type TForm1 = class(TForm) GroupBox1: TGroupBox; GroupBox2: TGroupBox; BitBtn1: TBitBtn; ListView1: TListView; BitBtn2: TBitBtn; BitBtn3: TBitBtn; BitBtn4: TBitBtn; procedure BitBtn1Click(Sender: TObject); procedure BitBtn3Click(Sender: TObject); procedure FormShow(Sender: TObject); procedure BitBtn2Click(Sender: TObject); procedure BitBtn4Click(Sender: TObject); private { Private declarations } public { Public declarations } Stop:boolean; Procedure AddInfo( lpEntryInfo: PInternetCacheEntryInfo;id:integer); end;var Form1: TForm1;implementation{$R *.DFM}procedure TForm1.BitBtn1Click(Sender: TObject);var lpEntryInfo: PInternetCacheEntryInfo; hCacheDir: LongWord ; dwEntrySize, dwLastError: LongWord; id:integer;begin Stop:=false; id:=0; ListView1.items.clear; dwEntrySize := 0; FindFirstUrlCacheEntry(nil, TInternetCacheEntryInfo(nil^), dwEntrySize); GetMem(lpEntryInfo, dwEntrySize); hCacheDir := FindFirstUrlCacheEntry(nil, lpEntryInfo^, dwEntrySize); if hCacheDir <> 0 then AddInfo(lpEntryInfo,id); id:=id+1; FreeMem(lpEntryInfo); repeat dwEntrySize := 0; FindNextUrlCacheEntry(hCacheDir, TInternetCacheEntryInfo(nil^), dwEntrySize); dwLastError := GetLastError(); if dwLastError = ERROR_INSUFFICIENT_BUFFER then begin GetMem(lpEntryInfo, dwEntrySize); if FindNextUrlCacheEntry(hCacheDir, lpEntryInfo^, dwEntrySize) then begin AddInfo(lpEntryInfo,id); id:=id+1; end; FreeMem(lpEntryInfo); end; application.ProcessMessages; until (dwLastError = ERROR_NO_MORE_ITEMS) or Stop ;end;procedure TForm1.AddInfo(lpEntryInfo: PInternetCacheEntryInfo;id:integer);begin with ListView1.items do begin Try BeginUpdate; with Add do begin Caption:=IntTostr(id); subitems.add(lpEntryInfo^.lpszSourceUrlName); Subitems.add(lpEntryInfo^.lpszLocalFileName); end; finally EndUpdate; end; end;end;procedure TForm1.BitBtn3Click(Sender: TObject);var I:integer;begin if not Stop then exit; for i:=ListView1.Items.Count-1 downto 0 do DeleteUrlCacheEntry(Pchar(ListView1.Items[i].SubItems[0])); ListView1.items.clear;end;procedure TForm1.FormShow(Sender: TObject);begin Stop:=false;end;procedure TForm1.BitBtn2Click(Sender: TObject);begin Stop:=true;end;procedure TForm1.BitBtn4Click(Sender: TObject);var I:integer;begin if not Stop then exit; for i:=ListView1.Items.Count-1 downto 0 do if Listview1.Items[i].Selected then begin DeleteUrlCacheEntry(Pchar(ListView1.Items[i].SubItems[0])); ListView1.Items.Delete(i); end;end;end.将就着用吧……反正我对自己的水平不报很大的希望…… 结贴.我找到怎么读那个index.dat文件了.不过还是谢谢.分数一样给你. 怎样将自定义的Frame在设计时放置到Form上 调用VC动态库异常 如何在Delphi中记录用户开、关计算机的时间 怎么样在DBGrid里删除一条记录?? 怎样清空文件内容? 调查:D友所在公司使用正版Delphi的情况! 我想做一局域网的dd,问两个问题 请教几个在Delphi中使用MSFlexGrid的问题 如何播放WMA格式文件? 关于tcp/ip通信出错 如何把一个clientdataset中的几个字段的数据赋值给另一个Clientdataset啊? 还是web service,急盼高手解惑!!!
不过看你这结贴率………………有点担心
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,wininet,
StdCtrls, ComCtrls, Buttons;
type
TForm1 = class(TForm)
GroupBox1: TGroupBox;
GroupBox2: TGroupBox;
BitBtn1: TBitBtn;
ListView1: TListView;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
Stop:boolean;
Procedure AddInfo( lpEntryInfo: PInternetCacheEntryInfo;id:integer);
end;var
Form1: TForm1;implementation{$R *.DFM}procedure TForm1.BitBtn1Click(Sender: TObject);
var
lpEntryInfo: PInternetCacheEntryInfo;
hCacheDir: LongWord ;
dwEntrySize, dwLastError: LongWord;
id:integer;
begin
Stop:=false;
id:=0;
ListView1.items.clear; dwEntrySize := 0;
FindFirstUrlCacheEntry(nil, TInternetCacheEntryInfo(nil^), dwEntrySize); GetMem(lpEntryInfo, dwEntrySize); hCacheDir := FindFirstUrlCacheEntry(nil, lpEntryInfo^, dwEntrySize);
if hCacheDir <> 0 then
AddInfo(lpEntryInfo,id);
id:=id+1;
FreeMem(lpEntryInfo); repeat
dwEntrySize := 0;
FindNextUrlCacheEntry(hCacheDir, TInternetCacheEntryInfo(nil^), dwEntrySize);
dwLastError := GetLastError();
if dwLastError = ERROR_INSUFFICIENT_BUFFER then
begin
GetMem(lpEntryInfo, dwEntrySize);
if FindNextUrlCacheEntry(hCacheDir, lpEntryInfo^, dwEntrySize) then
begin
AddInfo(lpEntryInfo,id);
id:=id+1;
end;
FreeMem(lpEntryInfo);
end;
application.ProcessMessages;
until (dwLastError = ERROR_NO_MORE_ITEMS) or Stop ;
end;procedure TForm1.AddInfo(lpEntryInfo: PInternetCacheEntryInfo;id:integer);
begin
with ListView1.items do
begin
Try
BeginUpdate;
with Add do
begin
Caption:=IntTostr(id);
subitems.add(lpEntryInfo^.lpszSourceUrlName);
Subitems.add(lpEntryInfo^.lpszLocalFileName);
end;
finally
EndUpdate;
end;
end;
end;procedure TForm1.BitBtn3Click(Sender: TObject);
var
I:integer;
begin
if not Stop then exit;
for i:=ListView1.Items.Count-1 downto 0 do
DeleteUrlCacheEntry(Pchar(ListView1.Items[i].SubItems[0]));
ListView1.items.clear;
end;procedure TForm1.FormShow(Sender: TObject);
begin
Stop:=false;
end;procedure TForm1.BitBtn2Click(Sender: TObject);
begin
Stop:=true;
end;procedure TForm1.BitBtn4Click(Sender: TObject);
var
I:integer;
begin
if not Stop then exit;
for i:=ListView1.Items.Count-1 downto 0 do
if Listview1.Items[i].Selected then
begin
DeleteUrlCacheEntry(Pchar(ListView1.Items[i].SubItems[0]));
ListView1.Items.Delete(i);
end;
end;end.
将就着用吧……反正我对自己的水平不报很大的希望……