最好能有代码
谢谢

解决方案 »

  1.   

    procedure TMainForm.FavItemClick(Sender: TObject);
    var
      i:Integer;
      WorkDir:String;
    begin
    for i:=TMenuItem(Sender).Count-1 downto 3 do
      TMenuItem(Sender).Delete(i);
    WorkDir:=GetFavDir;
    CreateFavMenu(WorkDir,FavItem);
    end;function TMainForm.GetFavDir: String;
    //获得收藏夹的目录
    var
      Reg: TRegistry;
    begin
      Reg := TRegistry.Create;
      try
        Reg.RootKey := HKEY_CURRENT_USER;
        if Reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders', False) then
           Result :=Reg.ReadString('Favorites');
      finally
        Reg.CloseKey;
        Reg.Free;
      End;
    end;
    procedure TMainForm.CreateFavMenu(Const WorkDir:String;Var MenuItem:TMenuItem);
    var
      SearchRec:TSearchRec;
      FWorkDir:String;
      SubMenuItem:TMenuItem;
    begin
      FWorkDir :=WorkDir;
      if (FindFirst(FWorkDir +'\*.*', faDirectory,SearchRec)=0) then
      begin
        repeat
          if (SearchRec.Attr and faDirectory = faDirectory) then
          Begin
            if (SearchRec.Name <>'.')and (SearchRec.Name <>'..') then
            begin
              SubMenuItem:=TMenuItem.Create(Application);
              SubMenuItem.Caption :=SearchRec.Name;
              SubMenuItem.ImageIndex:=21;
              MenuItem.Add(SubMenuItem);
              CreateFavMenu(FWorkDir+'\'+SearchRec.Name,SubMenuItem);
            end;
          end;
        until FindNext(SearchRec) <> 0;
      end;
      FindClose(SearchRec);  if (FindFirst(FWorkDir +'\*.*', faDirectory,SearchRec)=0) then
      begin
        repeat
          if (SearchRec.Attr and faDirectory <> faDirectory) then
          begin
            SubMenuItem:=TMenuItem.Create(MenuItem);
            SubMenuItem.Caption :=Copy(SearchRec.Name,1,Length(SearchRec.Name)-4);
            SubMenuItem.ImageIndex:=22;
            if Length(SubMenuItem.Caption) >25 then
              SubMenuItem.Caption :=Copy(SubMenuItem.Caption,1,25)+'...';
            SubMenuItem.Hint :=GetUrlFileURL(FWorkDir,SearchRec.Name);
            SubMenuItem.OnClick :=MenuItem_FaClick;
            MenuItem.Add(SubMenuItem);
          end;
        until FindNext(SearchRec) <> 0;
      End;
      FindClose(SearchRec);
    end;
      

  2.   

    很简单,就是个文件遍历程序,遍历IE收藏夹中的文件~~~http://www.euromind.com/iedelphi/iefavorites.htm这里学习http://www.euromind.com/iedelphi/iefavorites/favoritesmenu.htm
    http://www.euromind.com/iedelphi/iefavorites/favoriteslistview.htm
    http://www.euromind.com/iedelphi/iefavorites/favoritestreeview.htm去这DOWN控件,这个网络的其它控件对你学习IE相关的COM接口利用很有帮助