Announcement

Collapse
No announcement yet.

Internetverknüpfung erzeugen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Internetverknüpfung erzeugen

    Hallo,
    ich möchte IE-Favoriten erzeugen/bearbeiten.
    Die ini-artigen Textfiles, die allenthalben beschrieben sind, habe ich bei mir (zurück bis IExplore 6) nicht gefunden; in den Favoriten-Ordnern sind url-Dateien.
    Das Erzeugen habe ich auch nach vielem Stöbern (msdn, foren) hinbekommen, nur die SetDescription-Anweisung bleibt ohne jede Wirkung.
    Hier ist der Code (nackt, ohne Fehlerbehandlung etc.).

    Code:
    uses
      ... ActiveX, ComObj, ShlObj, IEConst;
    
    const
      IID_IPersistFile : TGUID = (D1: $0000010B;
                                  D2: $0000;
                                  D3: $0000;
                                  D4: ($C0,$00,$00,$00,$00,$00,$00,$46));
    
    procedure CreateURL(url, lnkfile, lnkdesc: string);
    var
      PersistFile: IPersistFile;
      ShellLink:   IShellLink;
      IURL:        IUniformResourceLocator;
    begin
      CoCreateInstance(CLSID_InternetShortcut, nil,  CLSCTX_InProc_Server,
                       IID_IUniformResourceLocatorA, IURL);
      IURL.QueryInterface(IID_IPersistFile, PersistFile);
      IURL.QueryInterface(IID_IShelllinkA, ShellLink);
      IURL.SetURL(PChar(url), 0);
      ShellLink.SetDescription(PChar(lnkdesc));
      PersistFile.Save(StringToOLEStr(lnkfile), True);
    end;
    Jeder Aufruf liefert ordentlich S_OK zurück. Ich benutze Delphi 2007, die Unit IEConst habe ich im Netz gefunden

    Vielleicht kann mir jemand weiterhelfen:
    - Was mache ich falsch mit dem SetDescription ?
    - kann man das Ganze mit Delphi-Mitteln eleganter lösen ?
    - Auch im Hinblick auf das Auslesen/Bearbeiten ?

    Danke schonmal
    Reinhold
Working...
X