Links benutzen

Erklärung
Diese Funktion CreateLink erzeugt einen Shell-Link (Paramter: Object-Ziel-Beschreibung)

Quelltext
  uses activeX,comobj,shlobj;

const
  IID_IPersistFile: TGUID = (D1:$0000010B;D2:$0000;D3:$0000;D4:($C0,$00,$00,$00,$00,$00,$00,$46));

functionCreateLink(lpszPathObj,lpszPathLink,lpszDesc:string):Boolean;
var psl : IShellLink;
      ppf : IPersistFile;
begin
    result := False;
    if SUCCEEDED(CoCreateInstance(CLSID_ShellLink, nil, CLSCTX_INPROC_SERVER, IID_IShellLinkA, psl)) then begin
       psl.SetPath(PChar(lpszPathObj));
       psl.SetDescription(PChar(lpszDesc));
      if SUCCEEDED(psl.QueryInterface(IID_IPersistFile,ppf)) thenbegin
           ppf.Save(StringToOLEStr(lpszPathLink),TRUE);
           Result := true;
        end;
      end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
     if CreateLink(EditProgramm.text,EditWo.text,EditComment.text) then showmessage('Ok')
end;