If not(AnsiUpperCase(TempStr)='LNK') then
linkFile:=linkFile+'.lnk';
MyObject := CreateComObject(CLSID_ShellLink);
MySLink := MyObject as IShellLink;
MyPFile := MyObject as IPersistFile;
with MySLink do
begin
SetPath(PChar(CmdLine));
SetArguments(PChar(Param));
SetWorkingDirectory(PChar(WorkDir));
end;
........
Вот основной код, который требуется. В переменной CmdLine записывается путь к файлу или папке.