Ich habe leider gerade kein Windows 11 aber mir wurde gesagt, dass der Code unten keinen Desktop-Shortcut mehr unter Windows 11 erstellt.
Gibt es da neue Restriktionen unter Windows 11? Weiß da jemand was?
Delphi-Quellcode:
// Create desktop shortcut
function createLink(const AFileName, ALinkFileName, AParameter, ALinkDestination: string): Boolean;
var
psl: IShellLink;
ppf: IPersistFile;
begin
Result := False;
if Succeeded(CoCreateInstance(CLSID_ShellLink, nil, CLSCTX_inPROC_SERVER, IID_IShellLinkW, psl)) then
begin
psl.SetPath(PChar(AFileName));
psl.SetArguments(PChar(AParameter));
psl.SetWorkingDirectory(PChar(ExtractFilePath(AFileName)));
if Succeeded(psl.QueryInterface(IPersistFile, ppf)) then
begin
ppf.Save(PChar(ALinkDestination + ALinkFileName + '.lnk'), True);
Result := True;
end;
end;
end;
// Delete desktop shortcut
procedure deleteShortCuts(const AProfileName: string; ALinkDestination: string);
begin
ALinkDestination := ALinkDestination + AProfileName + '.lnk';
if FileExists(ALinkDestination) then
DeleteFile(ALinkDestination);
end;