Создать ярлык в любой папке
Создать ярлык в любой папке
Создать ярлык в любой папке procedure tform1.button1click(sender: tobject); var myobject: iunknown; myicon: ishelllink; mypfile: ipersistfile; filename: string; directory: string; wfilename: widestring; myreg: treginifile; begin myobject := createcomobject(clsid_shelllink); myicon := myobject as ishelllink; mypfile := myobject as ipersistfile; //Указать что является запускающей программой filename := 'c:project.exe'; with myicon do begin // Какой файл подвергаеться воздействию запускающей программы setarguments('c:\project.exe'); //Установить путь к запускающему файлу setpath(pchar(filename)); // Установить рабочую директорию setworkingdirectory(pchar(extractfilepath(filename))); end; myreg := treginifile.create('softwaremicrosoftwindowscurrentversionexplorer'); {begin_Чтобы положить ярлык на desktop} directory := myreg.readstring('shell folders', 'desktop', ''); {end_Чтобы положить ярлык на desktop} {begin_Чтобы положить ярлык в start menu} //{directory := myreg.readstring('shell folders','start menu','')+ // 'whoa!'; //createdir(directory); {end_Чтобы положить ярлык в start menu} {begin_Чтобы положить ярлык в любую директор.} //directory := 'c:windowsdesktop'; {end_Чтобы положить ярлык в любую директор.} wfilename := directory + '/shortcut1.lnk'; mypfile.save(pwchar(wfilename), false); myreg.free; end;