(Gast)
n/a Beiträge
|
Re: Problem beim Verknüpfung erstellen
26. Feb 2009, 12:37
Folgende Funktion funktioniert unter RAD 2009 einwandfrei, benutze ich selber:
Delphi-Quellcode:
function CreateLink(const AFilename, ALNKFilename,
ADescription: AnsiString) : 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, PAnsiChar(ALNKFilename),
-1, wsz, MAX_PATH);
ppf.Save(wsz, true);
result:=true;
finally
FreeMem(wsz, MAX_PATH*2);
end;
end;
end;
end;
Aufruf:
Delphi-Quellcode:
CreateLink('C:\TEST.exe', // Ziel
vDesktopPfad + '\' + 'TEST.lnk', // Speicherort der verknüpfung
'Das ist eine Testbeschreibung zu TEST.exe'); // Verknüpfungs Beschreibung
|
|
Zitat
|