Советы по Delphi

         

Создание ярлыков I


VRSLazy@mail.ru пишет:

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

    uses ... ShlObj, ComObj, ActiveX, shellapi, ComCtrls, ... // не помню какая из них нужна, вообще наити можно поиском в *.pas в каталоге
// 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;

[001272]



Содержание раздела