Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Изменение иконки в исполняемом модуле [D5, Win95/98]


Teetos ©   (2003-04-16 09:17:00) 

Доброе время суток
Как произвести сабж ?

У меня не работатет данный подход:

NewIconHandle:=LoadImage(0,PChar(FileName),IMAGE_ICON,0,0,LR_LOADFROMFILE);
If NewIconHandle<>0 then
begin
F:=CreateFile(PChar(FileName),GENERIC_READ,0,nil,OPEN_EXISTING,0,0);
NewIconSize:=GetFileSize(F,nil);
NewIconData:=AllocMem(NewIconSize);
ReadFile(F,NewIconData,NewIconSize,NotUsed,nil);
CloseHandle(F);
end;
.......
HR:=BeginUpdateResource(PChar(edFileName.Text),False);
UpdateResource(HR,RT_ICON,"MAINICON",0,NewIconData,NewIconSize);
FreeMem(NewIconData,NewIconSize);
EndUpdateResource(HR,False);


Teetos   (2003-04-16 10:01:00) [1]

Гут.
Спасибо за науку.
Поставлю вопрос по-другому.
Как произвести сабж в Win95/98 ?


Игорь Шевченко   (2003-04-16 09:29:00) [2]

Help надо внимательно читать. Функции BeginUpdateResource и иже с ними не поддерживаются в Win95/98. Кроме того, после вызова функций надо бы проверять их результат, и в случае неуспеха, вызывать GetLastError и анализировать ошибку. Тогда и вопрос в форум помещать не надо будет.


Наверх

Титульная страница Поиск, карта сайта Написать письмо