Einzelnen Beitrag anzeigen

Benutzerbild von Duffy
Duffy

Registriert seit: 19. Mär 2003
Ort: Wuppertal
835 Beiträge
 
Delphi 3 Standard
 
#3

Re: Zu Favoriten hinzufügen ...

  Alt 26. Jul 2003, 12:28
Hallo eddy,
die drei Funktionen sollten Dir weiterhelfen.
Delphi-Quellcode:
function GetSpecialFolder(Folder: Integer): string;
var
  aPidl: PItemIDList;
  fLinkDir: string;
begin
  if SUCCEEDED(SHGetSpecialFolderLocation(Application.Handle, Folder, aPidl)) then
  begin
    SetLength(fLinkDir, MAX_PATH);
    SHGetPathFromIDList(aPidl, PChar(fLinkDir));
    SetLength(fLinkDir, StrLen(PChar(fLinkDir)));
    Result := fLinkDir;
  end;
end;
Delphi-Quellcode:
function GetFavoritesFolder: string;
begin
  Result := GetSpecialFolder(CSIDL_FAVORITES);
end;
und last but not least
Delphi-Quellcode:
procedure WriteURL(FileName: TFileName; URL: string;
                   IconFile: string = ''; IconIndex: Integer = 1);
var
  FStream: TFileStream;
  Buffer: string;
begin
  FStream := TFileStream.Create(FileName, fmCreate or fmShareExclusive);

  Buffer := '[DEFAULT]' + #$0D#$0A;
  FStream.WriteBuffer(Pointer(Buffer)^, Length(Buffer));

  Buffer := 'BASEURL=' + URL + #$0D#$0A;
  FStream.WriteBuffer(Pointer(Buffer)^, Length(Buffer));

  Buffer := '[InternetShortcut]' + #$0D#$0A;
  FStream.WriteBuffer(Pointer(Buffer)^, Length(Buffer));

  Buffer := 'URL=' + URL + #$0D#$0A;
  FStream.WriteBuffer(Pointer(Buffer)^, Length(Buffer));

  if Trim(IconFile) <> 'then
  begin
    Buffer := 'IconFile=' + IconFile + #$0D#$0A;
    FStream.WriteBuffer(Pointer(Buffer)^, Length(Buffer));

    Buffer := 'IconIndex=' + IntToStr(IconIndex) + #$0D#$0A;
    FStream.WriteBuffer(Pointer(Buffer)^, Length(Buffer));
  end;

  FStream.Free;
end;
der Aufruf erfolgt dann so
WriteURL(GetFavoritesFolder + '\DP.url', 'http://www.delphipraxis.net'); und die angehängte Unit (Author unbekannt) brauchst Du.

bye

[edit=Daniel]So ganz unbekannt ist der 'Autor' der angehängten Unit doch nicht. Ich habe sie in meinem Delphi 6 wiedergefunden und sogar die Formatierung der Kommentare war identisch. Attachment aus diesem Grund entfernt. Mfg, Daniel[/edit]
Künftige Generationen wollen ihre Fehler selber machen.
Jedes Programm wird nie das können, was Du wirklich brauchst.
Das Gegenteil von gut ist gut gemeint
-----
  Mit Zitat antworten Zitat