Создание ярлыка для конкретного файла 2
Автор: 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;
|