Wie kann man eine Verknüpfung erstellen
Ich habe es schon mit verschiedenen Codes probiert die ich hier gefunden habe. Aber es wird bei keinem eine Verknüpfung erstellt.
z.B.: Beim Ausführen dieser Funktion passiert gar nichts.
Delphi-Quellcode:
function CreateLink(const AFilename, ALNKFilename, ADescription: String) : Boolean;
var
psl : IShellLink;
ppf : IPersistFile;
wsz : PWideChar;
begin
result:=false;
if SUCCEEDED(CoCreateInstance(CLSID_ShellLink, nil,
CLSCTX_inPROC_SERVER, IID_IShellLinkA, psl)) then
begin
psl.SetPath(PChar(AFilename));
psl.SetDescription(PChar(ADescription));
psl.SetWorkingDirectory(PChar(ExtractFilePath(AFilename)));
if SUCCEEDED(psl.QueryInterface(IPersistFile, ppf)) then
begin
GetMem(wsz, MAX_PATH*2);
try
MultiByteToWideChar(CP_ACP, 0, PChar(ALNKFilename), -1, wsz, MAX_PATH);
ppf.Save(wsz, true);
result:=true;
finally
FreeMem(wsz, MAX_PATH*2);
end;
end;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
CreateLink('C:\WINDOWS\notepad.exe', // Ziel
'c:\test.lnk', // Speicherort der verknüpfung
'Verknüpfung zu Notepad'); // Verknüpfungs Beschreibung
end;