Интеллигентный компьютерный специалист всегда выглядит хорошо, но он не носит с собой зеркало. У него куча компакт дисков.
Может ещё так можно ярлыки делать?
// не помню какая из них нужна, вообще наити можно поиском в *.pas в каталогеuses...ShlObj, ComObj, ActiveX, shellapi, ComCtrls, ...
// disk:\Program Files\Borland\Delphi5\Sourceprocedure SetShortCut(path, cmd, icon, wd, name, arg: string);
var
ShellObject: IUnknown;
LinkFile: IPersistFile;
ShellLink: IShellLink;
begintry
CoInitialize(nil);
ShellObject := CreateComObject(CLSID_ShellLink);
LinkFile := ShellObject as IPersistFile;
ShellLink := ShellObject as IShellLink;
// RTFM - интерфейсу IShellLink, там вс? описано
ShellLink.SetPath(@cmd[1]);
ShellLink.SetWorkingDirectory(@wd[1]);
ShellLink.SetIconLocation(@icon[1], 0);
// вместо 0 можно указать номер иконки если их там много...
ShellLink.SetDescription(@name[1]);
ShellLink.SetArguments(@arg[1]);
LinkFile.Save(PWChar(WideString(path)), true);
finally
ShellObject := Unassigned;
CoUninitialize;
end;
end;
Может ещё так можно ярлыки делать?
Да, есть другие способы создания ярлыков в Delphi. Например, вы можете использовать компонент TShellLink из VCL (встроенных компонентов Delphi) или третьепартийные библиотеки, такие как JclShell. Эти альтернативы могут быть более удобными и простыми для использования, чем работа с COM-объектами напрямую.
В этом коде создается новый файл ярлыка в указанной папке path с ассоциированным командой и иконкой. Обратите внимание, что этот пример использует компонент TShellLink, который является частью VCL Delphi.
Также, как я упоминал ранее, вы можете использовать COM-объекты и интерфейсы из Microsoft Shell API для создания ярлыков. Это может быть более сложным способом, но он предоставляет больше возможностей для настройки свойств ярлыка.
Программно создать ярлык на компьютере с помощью языка Delphi, используя интерфейс IShellLink и класс CLSID_ShellLink.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS