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




Автор: [email protected]

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

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


// не помню какая из них нужна, вообще наити можно поиском в *.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;


Далее: Программно создать ярлык 3 »»