Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.02.2009, 15:53   #1
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,856
По умолчанию Удаление иконки приложения

Задача такая: необходимо откомпилировать программу, которая должна содержать информацию о версии, но не содержать иконку.

И то, и другое хранится в файле ресурсов. Если мы удаляем файл ресурсов, то в приложении не будет иконки, но так же не будет и информации о версии.
Я попытался удалить иконку из файла ресурсов (MAINICON), но при компиляции Делфи её восстанавливает, записывая туда свою стандартную иконку.
Экспериментировал в Делфи 6.

Так вот, как убрать эту иконку?
Arigato вне форума Ответить с цитированием
Старый 20.02.2009, 16:01   #2
Kotofff
Участник клуба
 
Аватар для Kotofff
 
Регистрация: 11.01.2009
Сообщений: 1,917
По умолчанию

А ты не пробовал с помощью Resource Builder снести в res файле иконку ?
А лучше ResHacker ....
"Заряженному танку в дуло не смотрят" @Dekmer in WoT

Последний раз редактировалось Kotofff; 20.02.2009 в 16:24. Причина: По совету KORN
Kotofff вне форума Ответить с цитированием
Старый 20.02.2009, 16:09   #3
NieL
Форумчанин
 
Регистрация: 17.11.2008
Сообщений: 116
По умолчанию

Писал как-то наследник TForm, где одним из требований было возможность отключать иконку приложения. Делал так:

Код:
procedure CreateParams(var Params: TCreateParams); override;
procedure CreateWnd; override;
Код:
procedure TForm1.CreateParams(var Params: TCreateParams);
begin
  inherited CreateParams(Params);
  with Params do
  begin
    Style := WS_CAPTION or WS_SYSMENU or WS_SIZEBOX
      or WS_MINIMIZEBOX or WS_MAXIMIZEBOX;
    ExStyle := WS_EX_DLGMODALFRAME or WS_EX_WINDOWEDGE;
  end;
end;

procedure TForm1.CreateWnd;
begin
  inherited CreateWnd;
  Perform(WM_SETICON, 1, 0);
end;
NieL вне форума Ответить с цитированием
Старый 20.02.2009, 16:10   #4
KORN
Банхаммер
Участник клуба
 
Аватар для KORN
 
Регистрация: 17.02.2007
Сообщений: 1,754
По умолчанию

через reshaker попробуй.. там просто exe в нем откроешь и грохни все иконки
Перед тем как спросить ищи на форуме и в GOOGLE
KORN вне форума Ответить с цитированием
Старый 20.02.2009, 16:37   #5
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,856
По умолчанию

В ресурсах иконки нет, а Делфи ставит свою стандартную иконку. Видимо, исправить можно только уже в готовом EXE.
Arigato вне форума Ответить с цитированием
Старый 20.02.2009, 19:39   #6
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Даже если сделать при создании формы
Application.Icon:=nil;
все равно винда рисует иконку для неопределенного типа файла.
Я вижу один простой вариант - форма без заголовка (None) и нарисовать (если это так уж нужно) свой заголовок...
mihali4 вне форума Ответить с цитированием
Старый 20.02.2009, 21:36   #7
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,856
По умолчанию

mihali4, мне нужно удалить иконку именно в EXE-файле, т.е. что бы винда рисовала её стандартную иконочку.
Arigato вне форума Ответить с цитированием
Старый 20.02.2009, 22:35   #8
goblinyara
Форумчанин
 
Аватар для goblinyara
 
Регистрация: 02.01.2009
Сообщений: 340
По умолчанию

Цитата:
Сообщение от mihali4 Посмотреть сообщение
Application.Icon:=nil;
... винда рисует иконку для неопределенного типа файла...
Arigato, так вот ведь ответ...
DelphiWorld 6. Скачай, поставь, и будет тебе счастье=)
Программирование, как и любовь -- одно слово, за которым скрывается бесконечное множество занятий.
goblinyara вне форума Ответить с цитированием
Старый 21.02.2009, 00:12   #9
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,856
По умолчанию

Цитата:
Arigato, так вот ведь ответ...
Вы внимательно прочитали мой вопрос?
Таким образом мы можем удалить иконку из заголовка программы, но не из EXE-файла с программой.
Может кому-то понятнее будет термин "значок". Нужно убрать значок у EXE-файла, что бы он был стандартным, а не определённым в самом EXE-файле.
Например, в папке WINDOWS файл TASKMAN.EXE не имеет собственной иконки, поэтому он отображается (в Проводнике) со стандартной иконкой. Вот и мне нужно такое же.

Но, судя по всему, Делфи сделать это не позволяет. Остаётся только вариант удалить иконку уже из готового EXE-файла.
Arigato вне форума Ответить с цитированием
Старый 21.02.2009, 01:12   #10
DomiNick
Студент, не
Старожил
 
Аватар для DomiNick
 
Регистрация: 29.01.2009
Сообщений: 2,067
По умолчанию

Не... У меня как-то получалось...

Правда случайно и повторить не удалось...
I am the First of Cyber Evolution...
I am the First to Program your Future...
DomiNick вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как определить координаты иконки приложения в system tray? SkAndrew Общие вопросы Delphi 5 18.08.2008 16:52
Делаю сайты, пишу маленькие/большие скрипты. Пишу веб-приложения и приложения под Windows. SkyM@n Фриланс 3 29.12.2007 16:21
Изменение иконки у приложения MaGiCaN Win Api 1 16.07.2007 10:20
Иконки vicvtor Софт 5 31.05.2007 21:45
Смена иконки стороннего приложения Wiedzmin Win Api 2 01.05.2007 16:19