Как изменить иконку WinAPI приложения?
От: Vsevolod_P  
Дата: 12.03.02 10:41
Оценка:
Visual C++ 6.0
Есть приложение, состоящее из функции WinMain. Никаких окон, но есть MessageBox. При его выводе на панели задач и в заголовке диалога появляется стандартная иконка, с которой был создан проект через Wizard->Projects->Win 32 Application->"Hello World" App.
В ресурсах остались только мои иконки IDI_SMALL и еще одна

Было замечено, что при первом создании exe в него попадает иконка из ресурся, которую потом меняй, не меняй — толу никакого

Вопрос: как ее подменить?
Всеволод
Re: Как изменить иконку WinAPI приложения?
От: Odi$$ey Россия http://malgarr.blogspot.com/
Дата: 12.03.02 10:52
Оценка:
Здравствуйте Vsevolod_P, Вы писали:

VP>Было замечено, что при первом создании exe в него попадает иконка из ресурся, которую потом меняй, не меняй — толу никакого


так не бывает, может поменяли только 32х32 а 16х16 нет?
Re[2]: Как изменить иконку WinAPI приложения?
От: Vsevolod_P  
Дата: 12.03.02 11:03
Оценка:
Здравствуйте Odi$$ey, Вы писали:

VP>>Было замечено, что при первом создании exe в него попадает иконка из ресурся, которую потом меняй, не меняй — толу никакого


O$>так не бывает, может поменяли только 32х32 а 16х16 нет?

Сейчас оставлена только одна иконка 32x32. Выполнено Rebuild All. Ничего не дало. Может проект послать?
Всеволод
Re[3]: Как изменить иконку WinAPI приложения?
От: Odi$$ey Россия http://malgarr.blogspot.com/
Дата: 12.03.02 11:15
Оценка:
Здравствуйте Vsevolod_P, Вы писали:

VP>Здравствуйте Odi$$ey, Вы писали:


VP>>>Было замечено, что при первом создании exe в него попадает иконка из ресурся, которую потом меняй, не меняй — толу никакого


O$>>так не бывает, может поменяли только 32х32 а 16х16 нет?

VP>Сейчас оставлена только одна иконка 32x32. Выполнено Rebuild All. Ничего не дало. Может проект послать?


давай
Re[4]: Как изменить иконку WinAPI приложения?
От: Odi$$ey Россия http://malgarr.blogspot.com/
Дата: 12.03.02 12:00
Оценка:
VP>>>>Было замечено, что при первом создании exe в него попадает иконка из ресурся, которую потом меняй, не меняй — толу никакого

O$>>>так не бывает, может поменяли только 32х32 а 16х16 нет?

VP>>Сейчас оставлена только одна иконка 32x32. Выполнено Rebuild All. Ничего не дало. Может проект послать?


O$>давай

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

Вариант — есть проги, в которых иконка устанавливается через ... — для класса окна, тогда она начинает вылезать на всех запускаемых диалогах. Не живет ли у тебя на машине такая?
Re[5]: Как изменить иконку WinAPI приложения?
От: Vsevolod_P  
Дата: 12.03.02 12:13
Оценка:
Здравствуйте Odi$$ey, Вы писали:

VP>>>Сейчас оставлена только одна иконка 32x32. Выполнено Rebuild All. Ничего не дало. Может проект послать?


O$>>давай

O$>скомпилял, запустил, MessageBox есть, иконок никаких нет ни на панели задач, ни в заголовке MessageBox.
Я то, что ты прислал тоже скомпилил. Работает как надо. А ты что-нибудь менял?

O$>Вариант — есть проги, в которых иконка устанавливается через ... — для класса окна, тогда она начинает вылезать на всех запускаемых диалогах. Не живет ли у тебя на машине такая?

Ага... WinXP
А на Win2000 тоже никаких иконок нет.
Всеволод
Re[6]: Как изменить иконку WinAPI приложения?
От: Odi$$ey Россия http://malgarr.blogspot.com/
Дата: 12.03.02 12:27
Оценка:
Здравствуйте Vsevolod_P, Вы писали:

VP>>>>Сейчас оставлена только одна иконка 32x32. Выполнено Rebuild All. Ничего не дало. Может проект послать?


O$>>>давай

O$>>скомпилял, запустил, MessageBox есть, иконок никаких нет ни на панели задач, ни в заголовке MessageBox.
VP>Я то, что ты прислал тоже скомпилил. Работает как надо. А ты что-нибудь менял?

нет ничего

O$>>Вариант — есть проги, в которых иконка устанавливается через ... — для класса окна, тогда она начинает вылезать на всех запускаемых диалогах. Не живет ли у тебя на машине такая?

VP>Ага... WinXP

VP>А на Win2000 тоже никаких иконок нет.

так, я вообще перестал что-либо понимать когда ты ее раньше компилял эта иконка появлялась и под XP и под 2000 или как? А сейчас ее нет и там и там или как?
Re[7]: Как изменить иконку WinAPI приложения?
От: Vsevolod_P  
Дата: 13.03.02 03:21
Оценка:
Здравствуйте Odi$$ey, Вы писали:

O$>>>Вариант — есть проги, в которых иконка устанавливается через ... — для класса окна, тогда она начинает вылезать на всех запускаемых диалогах. Не живет ли у тебя на машине такая?

VP>>Ага... WinXP

VP>>А на Win2000 тоже никаких иконок нет.

O$>так, я вообще перестал что-либо понимать когда ты ее раньше компилял эта иконка появлялась и под XP и под 2000 или как? А сейчас ее нет и там и там или как?

Итак (мои догадки):

WinXP — при первой компиляции WinXP каким-то образом запоминает иконки из exe файла и показывает их на TaskBar'е для MessageBox'ов.
Изменение иконки в проекте и полная перекомпиляция влияет только на explorer, но не на TaskBar. После перезагрузки XP обновляет информацию и показывает на TaskBar измененную иконку (explorer на изменение иконки реагирует сразу, без перезагрузки)

Win2000 — у MessageBox на TaskBar нет иконки вообще

Следовательно этот вопрос актуален (скорее всего) только для WinXP
Всеволод
Re[8]: Как изменить иконку WinAPI приложения?
От: Odi$$ey Россия http://malgarr.blogspot.com/
Дата: 13.03.02 04:45
Оценка:
Здравствуйте Vsevolod_P, Вы писали:

VP>Следовательно этот вопрос актуален (скорее всего) только для WinXP


XP однако нема
Re: Как изменить иконку WinAPI приложения?
От: Polosaty Беларусь  
Дата: 13.03.02 07:30
Оценка:
Здравствуйте Vsevolod_P, Вы писали:

VP>Visual C++ 6.0

VP>Есть приложение, состоящее из функции WinMain. Никаких окон, но есть MessageBox. При его выводе на панели задач и в заголовке диалога появляется стандартная иконка, с которой был создан проект через Wizard->Projects->Win 32 Application->"Hello World" App.
VP>В ресурсах остались только мои иконки IDI_SMALL и еще одна

VP>Было замечено, что при первом создании exe в него попадает иконка из ресурся, которую потом меняй, не меняй — толу никакого


VP>Вопрос: как ее подменить?


Есть такой страшный файл с "говорящим" именем ShellIconCache, появился он, если память меня не подводит, еще в Win95 и лежит в каталоге с виндами — либо WINDOWS, либо WINNT (если, конечно, у Вас не чересчур богатое чувство юмора, чтобы менять имя каталога для виндов с умолчательного на свое ).
Проблемы с иконами на ярлыках на десктопе/таскбаре, очень похожие на описываемые Вами, как правило, лечатся удалением этого файла и перезагрузкой сразу после удаления.
Эхплорер же как окно "проводника", насколько я понимаю, не кэширует иконы, а каждый раз из файла тащит.
Re[2]: Как изменить иконку WinAPI приложения?
От: Polosaty Беларусь  
Дата: 13.03.02 07:45
Оценка:
P>Есть такой страшный файл с "говорящим" именем ShellIconCache

Только что посмотрел на XP. Там такого файла не нашел. Значит, XP как-то по-другому иконы кэширует.
Извиняйте.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.