![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Как программно сменить значок у ярлыка? Работаю в delphi 7.
|
|
#2
|
|||
|
|||
|
Посмотри вот тут:
https://stackoverflow.com/questions/...ut-using-win32 Пример на С++, но разобраться можно и написать соотв. код. Там все-равно все через интерфейс идет. |
|
#3
|
||||
|
||||
|
Вот код под D7, проверено, работает
Код:
uses ShlObj, ComObj, ActiveX;
procedure SetLinkIcon(lfn, ifn: string);
var
IObject: IUnknown;
SLink: IShellLink;
PFile: IPersistFile;
begin
IObject := CreateComObject(CLSID_ShellLink);
SLink := IObject as IShellLink;
PFile := IObject as IPersistFile;
PFile.Load(PWChar(WideString(lfn)), 0);
SLink.SetIconLocation(PAnsiChar(ifn), 0);
PFile.Save(PWChar(WideString(lfn)), false);
end;
...
// пример вызова
SetLinkIcon('B.lnk', ExtractFileDir(ParamSTR(0)) + '\some.ico'); |