Mega Code Archive

 
Categories / Delphi / LAN Web TCP
 

Read the favorites from Internet Explorer

Title: Read the favorites from Internet Explorer Question: How to read all saved URLs recursively from MSIE ! Answer: uses shlobj; ... function GetIEFavorites(const favpath: string):TStrings; var searchrec:TSearchrec; str:TStrings; path,dir,filename:String; Buffer: array[0..2047] of Char; found:Integer; begin str:=TStringList.Create; //Get all file names in the favourites path path:=FavPath+'\*.url'; dir:=ExtractFilepath(path); found:=FindFirst(path,faAnyFile,searchrec); while found = 0 do begin //Get now URLs from files in variable files 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(GetIEFavorites(dir+'\'+searchrec.name)); found := FindNext(searchrec); end; FindClose(searchrec); Result:=str; end; procedure TForm1.Button1Click(Sender: TObject); var pidl: PItemIDList; FavPath: array[0..MAX_PATH] of char; begin //get the favorites folder SHGetSpecialFolderLocation(Handle, CSIDL_FAVORITES, pidl); SHGetPathFromIDList(pidl, favpath); ListBox1.Items:=GetIEFavorites(StrPas(FavPath)); end;