'InternetShortcut'에 해당되는 글 1건

  1. 2007/09/18 How to get get IE favorites
2007/09/18 08:28

How to get get IE favorites

The GetIEFavourites function called from the OnClick event of a button returns a list of all the favorites from your Internet Explorer in a ListBox.

function GetIEFavourites
(const favpath: string):TStrings;
var
  searchrecTSearchrec;
  str:TStrings;
  path,dir,filename:String;
  Buffer: array[0..2047] of Char;
  found:Integer;
begin
  str:=TStringList.Create;
  try
  path:=FavPath+'\*.url';
  dir:=ExtractFilepath(path) ;
  found:FindFirst(path,faAnyFile,searchrec) ;
  while found=0 do begin
   SetString(filename, Buffer,
          GetPrivateProfileString(InternetShortcut',
           PChar('URL'), NIL, Buffer, SizeOf(Buffer),
           PChar(dir+searchrec.Name))) ;
   str.Add(filename) ;
   found:=FindNext(searchrec) ;
  end;
  found:=FindFirst(dir+'\*.*',faAnyFile,searchrec) ;
  while found=0 do begin
   if ((searchrec.Attr and faDirectory) > 0)
     and (searchrec.Name[1]<>'.') then
   str.AddStrings(GetIEFavourites
                (dir+'\'+searchrec.name)) ;
   found:=FindNext(searchrec) ;
  end;
  FindClose(searchrec) ;
  finally
  Result:=str;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject) ;
var pidl: PItemIDList;
    FavPath: array[0..MAX_PATH] of char;
begin
  SHGetSpecialFolderLocation(Handle,CSIDL_FAVORITES, pidl) ;
 SHGetPathFromIDList(pidl, favpath) ;
  ListBox1.Items:=GetIEFavourites(StrPas(FavPath)) ;
end;

Trackback 0 Comment 0