Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Zu Favoriten hinzufügen ... (https://www.delphipraxis.net/6880-zu-favoriten-hinzufuegen.html)

eddy 25. Jul 2003 23:31


Zu Favoriten hinzufügen ...
 
Hallo Leute,

für Favoriten Verwalten habe ich folgende funktionierende Anweisung gefunden:

Code:
OrganizeFavorite(Handle, GetSpecialFolderPath(Handle, CSIDL_FAVORITES));
Gibt es so etwas auch für "Zu Favoriten hinzufügen ..." ??

mfg
eddy

Alexander 26. Jul 2003 10:19

Re: Zu Favoriten hinzufügen ...
 
Das sollte dir helfen:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/devref/html2/dar_methods_(a)_381.asp

Duffy 26. Jul 2003 12:28

Re: Zu Favoriten hinzufügen ...
 
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
Delphi-Quellcode:
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]

eddy 26. Jul 2003 17:56

Re: Zu Favoriten hinzufügen ...
 
Hallo Duffy,

funktioniert alles prima. Damit bekomme ich die Einträge auch in Unterverzeichnissse gelegt, was in meiner jetzigen Version noch nicht gelang.

Bleibt nur noch zu klären, ob es auch ein Befehl gibt, der mir genau die Funktion des IE nachzubilden erlaubt. Das heißt, ich suche eine Befehlsfolge, die mir genau dieses Fenster des IE öffnet. (Damit ich nicht alles neu erfinden muß.)

mfg
eddy

Alexander 26. Jul 2003 19:07

Re: Zu Favoriten hinzufügen ...
 
Hast du dir mein Post schon mal angekuckt? Da (glaube ich ;-)) genau das Drin

eddy 26. Jul 2003 19:18

Re: Zu Favoriten hinzufügen ...
 
Hallo alexander,

ja hab' ich, aber ich erhalte nur die Information: "Page cannot be found"

Außerdem habe ich auf den Microsoft-Seiten noch nie das gefunden, was ich gesucht habe. Wahrscheinlich funktíoniert meine Logik anders.

mfg
eddy

Duffy 26. Jul 2003 23:52

Re: Zu Favoriten hinzufügen ...
 
@Daniel
Hallo Daniel,
und wer ist der Autor? Ist es vielleicht Borland? ich habe da nichts gesehen und die Unit ist bei meinem Delphi nicht dabei. Sie steht auch bei mir in einenm Utility Verzeichnis. Sollte ich da Urheberrechte oder Copyright Vermerke angekratzt haben, ist das schon OK, daß Du die Unit wieder gelöscht hast.
bye

Duffy 27. Jul 2003 00:19

Re: Zu Favoriten hinzufügen ...
 
@Daniel
@All
Unit ist bei Delphi dabei. Versteckt sich unter ShlObj.pas und ist von ... man glaubt es nicht ...
Delphi-Quellcode:
{*******************************************************}
{                                                       }
{       Borland Delphi Run-time Library                }
{       Win32 API Shell objects Interface Unit         }
{                                                       }
{       Copyright (c) 1985-1999, Microsoft Corporation }
{                                                       }
{       Translator: Borland Software Corporation       }
{                                                       }
{*******************************************************}
also man braucht sie nicht ins Netz stellen, alle, ich hoffe alle haben sie bei Delphi dabei.
bye

Alexander 27. Jul 2003 07:06

Re: Zu Favoriten hinzufügen ...
 
Jepp aber nur bei Version ab (!) Proffessional
@eddy Das Forum hat die URL abgeschnitten. Hier noch mal richtig: Klick


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:20 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz