Diese Beispiel von Kevin s. Gallagher zeigt wie man eine Dateiverknüpfung im Dateisystem erstellt:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26:
| Uses ShlObj, ActiveX, ComObj;
procedure CreateLink (Target, Args, WorkDir, ShortCutName, Icon: String; IconNo: Integer); var IObj: IUnknown; Link: IShellLink; IPFile: IPersistFile; TargetW: WideString; begin IObj := CreateComObject (CLSID_ShellLink); Link := IObj as IShellLink; IPFile := IObj as IPersistFile;
with Link do begin SetPath (PChar (Target)); SetArguments (PChar (Args)); SetShowCmd (SW_SHOWMINIMIZED); SetWorkingDirectory (PChar (WorkDir)); SetIconLocation (PChar (Icon), IconNo); end;
TargetW := ShortCutName; IPFile.Save (PWChar (TargetW), False); End; |
So kann z. B. die Procedure aufgerufen werden:
Delphi-Quelltext
1:
| CreateLink ('c:\test.txt', '', '', 'd:\test.lnk', '', 0); |
Möchte man außerdem noch ein spezielles Icon für die Verknüpfung benutzen kann man den Dateinamen des Icons als Parameter übergeben:
Delphi-Quelltext
1:
| CreateLink ('c:\test.txt', '', '', 'd:\test.lnk', 'c:\icon.ico', 0); |