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]