Hier, ein wenig googeln hätte nicht geschadet:
Delphi-Quellcode:
function CreateLink(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)) then begin
ppf.Save(StringToOLEStr(lpszPathLink),TRUE);
Result := true;
// ppf._Release; ---> Runtime-Error wenn aktiv
end;
end;
// psl._Release; ---> Runtime-Error wenn aktiv
//end;
end;
lpszPathObj = Datei, die verlinkt werden soll
lpszPathLink = Beschreibung
lpszDesc = Ordner in der die Verknüpfung erstellt werden soll
Result = Erfolg, oder Nichterfolg
Ich hab es ausprobiert, es funktioniert.
Gruß DelphiFreund