Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Создание ярлыка для конкретного файла 2

Delphi , Файловая система , Ярлыки



Автор: Lipskiy
WEB-сайт: http://delphibase.endimus.com

{ **** UBPFD *********** by delphibase.endimus.com ****
>> Создание ярлыка для конкретного файла (2)

Процедура создает ярлык к файлу FilePath,
располагает ярлык в папке ShortcutPath,
заносит в ярлык поля: рабочей директории WorkDir,
текстового описания Description,
параметров запуска Params.

Зависимости: ShlObj, ActiveX, ComObj
Автор:       lipskiy, lipskiy@mail.ru, ICQ:51219290, Санкт-Петербург
Copyright:   Из FAQ
Дата:        10 мая 2002 г.
***************************************************** }

procedure CreateShortcut(const FilePath, ShortcutPath,
  WorkDir, Description, Params: string);
var
  obj: IUnknown;
  isl: IShellLink;
  ipf: IPersistFile;
begin
  obj := CreateComObject(CLSID_ShellLink);
  isl := obj as IShellLink;
  ipf := obj as IPersistFile;
  with isl do
  begin
    SetPath(PChar(FilePath));
    SetArguments(PChar(Params));
    SetDescription(PChar(Description));
    SetWorkingDirectory(PChar(WorkDir));
  end;
  ipf.Save(PWChar(WideString(ShortcutPath)), False);
end;

Пример использования:

// пример создания ярлыка на рабочем столе
var
  UserDesktop: string;
  R: TRegIniFile;
begin
  R := TRegIniFile.Create('');
  with R do
  begin
    RootKey := HKEY_CURRENT_USER;
    UserDesktop :=
      ReadString('Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders',
      'desktop', '');
    Free;
  end;

  CreateShortcut(Application.ExeName, UserDesktop +
    '\Название ярлыка.lnk', '', '', '');
end;

Программный код на языке Delphi для создания ярлыка к конкретному файлу!

Вот разбивка того, что код делает:

Процедура CreateShortcut

Принимает пять строковых параметров:

  1. FilePath: Путь к файлу, который будет связан.
  2. ShortcutPath: Путь, где будет сохранен ярлык.
  3. WorkDir: Рабочий каталог для ярлыка (опционально).
  4. Description: Текстовое описание для ярлыка (опционально).
  5. Params: Параметры для ярлыка (опционально).

Процедура использует три объекта COM:

  1. IShellLink (Shell Link): Управляет объектом shell-link.
  2. IPersistFile (Persistence File): Сохраняет ярлык в файл.

Вот, что код делает:

  1. Создает экземпляр объекта Shell Link с помощью CreateComObject.
  2. Кастит объект в оба IShellLink и IPersistFile.
  3. Устанавливает различные свойства для ярлыка:
    • SetPath: Устанавливает путь к целевому файлу (FilePath).
    • SetArguments: Устанавливает параметры для ярлыка (Params).
    • SetDescription: Устанавливает текстовое описание для ярлыка (Description).
    • SetWorkingDirectory: Устанавливает рабочий каталог для ярлыка (WorkDir).
  4. Сохраняет ярлык в файл с помощью IPersistFile.Save.

Пример использования

Пример создает ярлык на десктопе пользователя с именем "Название ярлыка.lnk". Ярлык указывает на исполняемый файл текущего приложения, и не имеет рабочего каталога, описания или параметров.

Предложения по улучшению

  1. Рассмотрите добавление обработки ошибок для создания объектов COM и вызова методов.
  2. Используйте более подробные имена переменных (например, shortcutFilePath вместо FilePath).
  3. Вам может потребоваться использовать более надежный способ определения пути десктопа пользователя вместо жесткого кодирования.
  4. Если процедура является частью большего приложения, рассмотрите добавление журналирования или отладки.

В целом, этот код предоставляет хороший старт для создания ярлыков в Delphi. С некоторыми изменениями и улучшениями он может стать еще более эффективным и надежным.

Процедура создания ярлыка для конкретного файла на языке Delphi с использованием интерфейса IShellLink и IPersistFile.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Ярлыки ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-01-28 06:54:41/0.013570070266724/1