Как создать файл-ярлык (lnk-файл)?

Модераторы: Romeo, Hawk, Absurd, WinMain, DeeJayC

Ответить
BBB
Сообщения: 1272
Зарегистрирован: 27 дек 2005, 13:37

Как создать файл-ярлык (lnk-файл)?

Сообщение BBB » 03 янв 2006, 00:23

Знает ли кто-нибудь, как из программы создать ярлык для файла?
Я имею в виду то, что создается, когда из локального меню файла выбираешь пункт "Создать ярлык".
Как вообще это делает Windows? Может быть, есть какая-то WinAPI функция?
С параметрами, например, имя создаваемого файла-ярлыка, имя файла, на который будет "указывать" ярлык, имя HOME-каталога.

Или, возможно, известно описание структуры (формата) файла-ярлыка. В этом случае можно было бы описать в программе соответствующую struct, заполнить и затем записать ее в файл, создав ярлык.

Заранее спасибо.

Аватара пользователя
WinMain
Сообщения: 912
Зарегистрирован: 14 янв 2005, 10:30
Откуда: Москва
Контактная информация:

Сообщение WinMain » 03 янв 2006, 01:21

Для этого используется СОМ-интерфейс IShellLink. Через его метод SetPath() ему передаётся имя файла на диске, для которого создаётся ярлык. Потом запрашивается интерфейс IPersistFile, в котором вызывается метод Save() с указанием имени файла ярлыка (расширение .lnk). Пример можешь найти в MSDN или в других открытых источниках.

Ответить