procedure CreateShortCut(ShortCutName, Parameters, FileName: string);
var ShellObject: IUnknown;
ShellLink: IShellLink;
PersistFile: IPersistFile;
FName: WideString;
begin
ShellObject := CreateComObject(CLSID_ShellLink);
ShellLink := ShellObject as IShellLink;
PersistFile := ShellObject as IPersistFile;
with ShellLink do
begin
SetArguments(PChar(Parameters));
SetPath(PChar(FileName));
SetWorkingDirectory(PChar(extractfilepath(FileName)));
FName := ShortCutName;
PersistFile.Save(PWChar(FName), False);
end;
end;
Код, который вы предоставили, - это процедура на языке Delphi, которая создает файл shortcut (.lnk) на компьютере пользователя. Она использует COM-объекты из Shell API для создания и сохранения shortcut.
Вот шаг за шагом, что код делает:
Он инициализирует три COM-объекта:
ShellObject: Объект интерфейса IShellLink, представляющий ссылку на shell.
ShellLink: Указатель на интерфейс IShellLink, каст из ShellObject.
PersistFile: Объект интерфейса IPersistFile, предоставляющий методы для сохранения и загрузки данных файла.
Он устанавливает свойства на объекте ShellLink:
SetArguments: Устанавливает аргументы, передаваемые shortcut (например, параметры командной строки).
SetPath: Устанавливает путь к целевой файл или директории.
SetWorkingDirectory: Устанавливает рабочую директорию для shortcut.
Он устанавливает имя файла shortcut с помощью переменной FName.
Наконец, он сохраняет данные shortcut в файле с помощью метода PersistFile.Save.
Чтобы использовать эту процедуру, вы должны вызвать ее с тремя строковыми аргументами:
ShortCutName: Желаемое имя для файла shortcut (например, "Мой Shortcut.lnk").
Parameters: Любые параметры командной строки или аргументы, которые нужно передать целевой файл или приложению.
FileName: Путь и имя целевого файла или директории.
Это создаст файл shortcut с именем "Мой Shortcut.lnk" в текущей рабочей директории, с аргументами командной строки "arg1 arg2", и установит целевой путь на "C:\Путь\К\Файлу.txt".
Обратите внимание, что для использования этого кода вам нужно включить в ваш проект Delphi units ShlObj, ActiveX и ComObj.
Создать ссылку на файл (.lnk) можно используя компонент ShlObj и создавая объект IShellLink, который позволяет задать параметры и путь к файлу, а также сохранять его в файл с указанным именем.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS