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

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

изменить иконку в любой программе


markus ©   (2008-05-08 23:06:00) 

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

fs:=TFileStream.Create('icon.ico',fmOpenRead);
size:=fs.Size;
GetMem(p1,size);
fs.Read(p1^,size);

lUpd:=BeginUpdateResource(PChar(ExtractFileDir(application.ExeName)+'\Project1.exe'),false);
lBool:=UpdateResource(lUpd,RT_ICON,'MAINICON',LANG_NEUTRAL,p1,size);
EndUpdateResource(lUpd,False);


Anatoly Podgoretsky   (2008-05-09 09:31:00) [1]

> markus  (09.05.2008 01:23:04)  [4]

После просмотра всей ветки, можно уже сказать, что это не поричание.


Германн   (2008-05-09 03:30:00) [2]


> markus   (09.05.08 02:25) [9]
>
>
> > Германн ©   (09.05.08 02:06) [8]
> > А что мы можем сказать в результате?
>
> я вижу только одно иконка пишется в файл только не туда
> куда нужно
>

Ну и видь сей результат дальше.


guav   (2008-05-09 02:29:00) [3]

Кэш шелла ?


markus   (2008-05-09 02:25:00) [4]


> Германн ©   (09.05.08 02:06) [8]
> А что мы можем сказать в результате?

я вижу только одно иконка пишется в файл только не туда куда нужно


Германн   (2008-05-09 02:06:00) [5]


> markus   (09.05.08 01:43) [7]
>
>
> > Германн ©   (09.05.08 01:33) [6]
> > Без анализа результатов этих функций, как того советует
> > справка, твой вопрос не имеет смысла.
>
> возвращают они положительный результат. сам файл увеличивается
> ровно на размер ресурса. файл не портится и работает после
> этого. но иконка не меняется.
>

Но в твоём примере этого не видно. Ни положительного результата, ни
> Да и где в приведённом примере собственно "замена"?

А что мы можем сказать в результате?


markus   (2008-05-09 01:43:00) [6]


> Германн ©   (09.05.08 01:33) [6]
> Без анализа результатов этих функций, как того советует
> справка, твой вопрос не имеет смысла.

возвращают они положительный результат. сам файл увеличивается ровно на размер ресурса. файл не портится и работает после этого. но иконка не меняется.


Германн   (2008-05-09 01:33:00) [7]


> markus   (09.05.08 01:23) [4]
>
>
> > Германн ©   (09.05.08 00:45) [1]
> > Нет ни одной проверки результата возвращаемого данными
> функциями.
>
> это порицание или диагноз
>

И то и другое. В справке по всем этим функциям написано:
Return Values

If the function succeeds, the return value is nonzero.
If the function fails, the return value is zero. To get extended error information, call GetLastError.

Без анализа результатов этих функций, как того советует справка, твой вопрос не имеет смысла.


Германн   (2008-05-09 01:27:00) [8]


> sniknik ©   (09.05.08 01:09) [3]

Коль. Лучше было бы привести ответ Королевства на "поиск в статьях" по UpdateResource. А то по твоей ссылке ценное только "Взято из исходников InnoSetup". А это значит, что нужно качать ещё и исходники InnoSetup и в них разбираться. :((


markus   (2008-05-09 01:23:00) [9]


> Германн ©   (09.05.08 00:45) [1]
> Нет ни одной проверки результата возвращаемого данными функциями.

это порицание или диагноз


> Да и где в приведённом примере собственно "замена"?

вот и я тоже думаю что-то не так, хотя с другой стороны должно работать, в ехе то иконку пишет, но не покаывает


> sniknik ©   (09.05.08 01:09) [3]
>
> http://www.delphikingdom.com/asp/answer.asp?IDAnswer=39149

посмотрел, интересно, но все таки там ключевую роль там играют три строчки, переделать можно все кроме них или я ошибаюсь!
BeginUpdateResource
UpdateResource
EndUpdateResource


sniknik   (2008-05-09 01:09:00) [10]

http://www.delphikingdom.com/asp/answer.asp?IDAnswer=39149


Германн   (2008-05-09 01:01:00) [11]

Да и где в приведённом примере собственно "замена"?


Германн   (2008-05-09 00:45:00) [12]


> markus   (08.05.08 23:06)
>
> создаю пустой .ехе и пытаюсь заменить в нем иконку, почему
> не получатеся, вот пример оставил самое главное, что не
> так
>

Нет ни одной проверки результата возвращаемого данными функциями.


Наверх

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