Einzelnen Beitrag anzeigen

Micha88
(Gast)

n/a Beiträge
 
#19

Re: Problem beim Verknüpfung erstellen

  Alt 26. Feb 2009, 11: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
  Mit Zitat antworten Zitat