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

Программно создать ярлык 2

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

Программно создать ярлык 2


Автор: VRSLazy@mail.ru

Интеллигентный компьютерный специалист всегда выглядит хорошо, но он не носит с собой зеркало. У него куча компакт дисков.

Может ещё так можно ярлыки делать?


// не помню какая из них нужна, вообще наити можно поиском в *.pas в каталоге
uses...ShlObj, ComObj, ActiveX, shellapi, ComCtrls, ...
// disk:\Program Files\Borland\Delphi5\Source

procedure SetShortCut(path, cmd, icon, wd, name, arg: string);
var
  ShellObject: IUnknown;
  LinkFile: IPersistFile;
  ShellLink: IShellLink;
begin
  try
    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-объектами напрямую.

Вот пример использования компонента TShellLink:

uses ShellCtrls;

procedure CreateShortcut(const path, cmd, icon: string);
var
  Link: TShellLink;
begin
  Link := TShellLink.Create(path);
  Link.Target := cmd;
  Link.Icon := icon;
  Link.Save;
end;

В этом коде создается новый файл ярлыка в указанной папке path с ассоциированным командой и иконкой. Обратите внимание, что этот пример использует компонент TShellLink, который является частью VCL Delphi.

Также, как я упоминал ранее, вы можете использовать COM-объекты и интерфейсы из Microsoft Shell API для создания ярлыков. Это может быть более сложным способом, но он предоставляет больше возможностей для настройки свойств ярлыка.

Программно создать ярлык на компьютере с помощью языка Delphi, используя интерфейс IShellLink и класс CLSID_ShellLink.


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

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




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


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


реклама


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

Время компиляции файла: 2024-08-19 13:29:56
2024-11-21 11:32:45/0.0054099559783936/1