IE浏览过的历史记录保存在这里C:\Documents and Settings\username\Local Settings\History\History.IE5\index.dat 怎么读取里面的内容 谢谢

解决方案 »

  1.   

    我有源码,但是不是读文件,是用API做的……
    不过看你这结贴率………………有点担心
      

  2.   

    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.
    将就着用吧……反正我对自己的水平不报很大的希望……
      

  3.   

    结贴.我找到怎么读那个index.dat文件了.不过还是谢谢.分数一样给你.