Einzelnen Beitrag anzeigen

Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#1

Eine Verknüpfung erstellen

  Alt 28. Apr 2004, 16:29
Delphi-Quellcode:
uses
 ActiveX;

function CreateLink(lpszPathObj,lpszPathLink,
  lpszDesc: string):Boolean;
var
  psl: IShellLink;
  ppf: IPersistFile;

const
  IID_IPersistFile:
     TGUID = (D1:$0000010B;
              D2:$0000;
              D3:$0000;
              D4:($C0,$00,$00,$00,$00,$00,$00,$46));
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;


//Aufruf:
  if CreateLink('d:\Datei.exe', 'c:\Verknüpfung.exe', 'Verknüpfung') then
    MessageDlg('Verknüpfung angelegt', mtInformation, [mbOk], 0);
Benötigt wird die Unit ShlOBJ.

Dieser Code wurde hier von FuckRacism veröffentlicht, stammt jedoch ursprünglich von Delphi-Treff.

[edit=Chakotay1308]Mfg, Chakotay1308[/edit]
[edit=sakura] uses hinzugefügt. Mfg, sakura[/edit]
  Mit Zitat antworten Zitat