![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Изменение иконки в исполняемом модуле [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 и анализировать ошибку. Тогда и вопрос в форум помещать не надо будет.