Программирование: CreateShellLink

Прототип

function CreateShellLink(const Filename, Description, ShortcutTo, Parameters, WorkingDir, IconFilename: String; const IconIndex, ShowCmd: Integer): String;

Описание

Выполняет создание ссылки на файл или папку. Возвращает результирующее имя файла ссылки, которое может отличаться от Filename, если оно было создано с расширением .pif вместо .lnk. В случае ошибки будет создано исключение.

Параметры:

Filename Имя файла создаваемого ярлыка.
Требуется указывать полный путь, включая расширение ".lnk".
Description Описание ярлыка.
Будет показано в виде всплывающей подсказки при наведении курсора мышки на значок в поддерживаемых ОС Windows.
ShortcutTo Целевой файл для создания ярлыка.
Требуется указывать полный путь к файлу.
Строка пути будет заключена в двойные кавычки автоматически.
Parameters Параметры командной строки для передачи целевому файлу.
Параметры, включающие пробелы, должны быть заключены в двойные кавычки. Например, ExpandConstant('"{app}\foo"').
WorkingDir Рабочий каталог целевого файла.
Требуется указывать абсолютный путь к этому каталогу.
IconFilename Путь к файлу значка, который будет использован для ярлыка.
Если параметр оставить пустым, то по умолчанию будет использован значок целевого файла.
IconIndex Индекс значка (начиная с нуля).
ShowCmd Одна из констант SW_*.

Комментарии

Скорее всего при деинсталляции возникнет необходимость удалить созданный ярлык. Тогда просто добавьте соответствующую запись в секцию UninstallDelete.

Пример

CreateShellLink(
  ExpandConstant('{app}\config\Open licence database.lnk'),
  'Открыть базу данных лицензий SQLite',
  ExpandConstant('{app}\config\sqlite.exe'),
  ExpandConstant('"{app}\config\licences.db"'),
  ExpandConstant('{app}\config'),
  '',
  0,
  SW_SHOWNORMAL);