Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.02;
Скачать: CL | DM;

Вниз

Как выдрать иконку из exe-шника и вставить ее в .lnk   Найти похожие ветки 

 
ZeroDivide ©   (2003-05-15 14:33) [0]

И чтобы работало под всеми виндами. Я уже задолбался это делать.

Так я ее создаю:

Procedure CreateLink(const PathObj, PathLink, Desc, Param, WorkDir: string);
var
IObject: IUnknown;
SLink: IShellLink;
PFile: IPersistFile;
begin
s := ExePath;
Delete(s,1,Length(NetPath));
Insert(LocalPath,s,1);
IObject := CreateComObject(CLSID_ShellLink);
SLink := IObject as IShellLink;
PFile := IObject as IPersistFile;
with SLink do
begin
SetArguments(PChar(Param));
SetDescription(PChar(Desc));
SetPath(PChar(PathObj));
SetWorkingDirectory(PChar(WorkDir));
SetIconLocation(PChar(s), 0);
end;
PFile.Save(PWideChar(WideString(PathLink)), False);
end;

Все работает под 98-ми, но под 2000 начинаются глюки. Выдирается не та иконка, что установлена в опциях проекта, а стандартная дельфяровская. Где стоит сервиспак 3 там выдирается нормальная иконка, но тоже не всегда, как оказалось сегодня. На 3-м сервиспаке не заработало, а на 2-м все отлично.

Я скоро крышу потеряю от таких фокусов, что мне делать а?


 
ZeroDivide ©   (2003-05-16 09:38) [1]

up


 
Дмитрий К.К. ©   (2003-05-16 09:44) [2]

Вам бы, батенька, почитать про формат LNK на http://www.wotsit.org/



Страницы: 1 вся ветка

Текущий архив: 2003.06.02;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.021 c
11-2834
antonioxxx
2002-09-06 19:59
2003.06.02
Проблема с компиляцией.


11-2829
Kirill
2002-08-16 22:39
2003.06.02
SysUtils


1-2856
sapsi
2003-05-22 10:32
2003.06.02
Команда для активизации окна


3-2762
saff
2003-05-13 11:40
2003.06.02
SQL


1-2938
werr
2003-05-20 17:10
2003.06.02
как определить каталог, откуда запускалась программа?