скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

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



Автор: Lipskiy

{ **** 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;





Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook