Модераторы: Snowy, Alexeis, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ешё раз про замену иконок 
:(
    Опции темы
RA
Дата 13.6.2002, 19:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Брутальный буратина
****


Профиль
Группа: Участник Клуба
Сообщений: 3497
Регистрация: 31.3.2002
Где: Лес

Репутация: 1
Всего: 115



Вот что я надыбал из одной недоконченной программы, давать её полный исходник безсмысленно так-как всё что связанно с иконкой приведено тут, сразу скажу код недоработанный и выдернут из под { .... }, автору было лень его доделывать, но я думаю что в это кусочке есть смысл. Может кто и доведёт его до ума.

Ещё раз напомню вопросс: как заменить иконку у файла.

var
 F,F2:File;
 buf:array[1..2218] of Char;
 i:integer;

const
iconaddr=300651;
//я так понял что это смещение к началу иконки
//но его число зависит размера файла

 for i:=1 to 2218 do buf[i]:=chr(0);
 Seek(F2,$14);
 BlockRead(F2,buf,filesize(F2)-20);
 CloseFile(F2);
 Seek(F,iconaddr);
 BlockWrite(F,buf,2218);

Вот, какие мысли лезут в голову:

1 Как определить начало иконки?
2 Какая максимальная длинна у иконок?
3 Как преобразовать Фаил *.ico в байты?
PM   Вверх
Song
Дата 13.6.2002, 20:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Sysman.ru
***


Профиль
Группа: Участник
Сообщений: 1095
Регистрация: 2.6.2002

Репутация: нет
Всего: 4



Дико извиняюсь.. а ExtractIcon(), ExtractIconEx() икноку случайно не выдёргивают  ?


--------------------
Прежде чем сказать "Невозможно", подумай, прав ли ты
PM WWW ICQ   Вверх
RA
Дата 13.6.2002, 20:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Брутальный буратина
****


Профиль
Группа: Участник Клуба
Сообщений: 3497
Регистрация: 31.3.2002
Где: Лес

Репутация: 1
Всего: 115



Цитата(Song @ 13.6.2002, 21:00)
Дико извиняюсь.. а ExtractIcon(), ExtractIconEx() икноку случайно не выдёргивают  ?

Да собственно вопросс не в этом как выдернуть иконку, или ты имеешь в виду что эти функции могут указать на место расположения иконки?
PM   Вверх
Vit
Дата 14.6.2002, 16:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 1
Всего: 207



Вот небольшая статейка, найденная мной в FAQ(http://blackman.km.ru/myfaq/cont4.phtml). Может пригодится?

Функция CreateIconFromResourceEx создает иконку или курсор из битов ресурса, описывающих иконку.

перевод функции CreateIconFromResourceEx. CreateIconFromResourceEx Функция CreateIconFromResourceEx создает иконку или курсор из битов ресурса,
описывающих иконку. HICON CreateIconFromResourceEx(     PBYTE pbIconBits,   // указатель на биты ресурса
   DWORD cbIconBits,   // число бит в буфере
   BOOL fIcon, // флаг иконки или курсора
   DWORD dwVersion,    // версия формата Windows
   int cxDesired,      // желаемая ширина иконки или курсора
   int cyDesired,      // желаемая высота иконки или курсора
   UINT uFlags
  ); Параметры pbIconBits – указывает на буфер, содержащий биты ресурса иконки или курсора.
Эти биты обычно загружаются вызовами функций LookupIconIdFromDirectory (в Windows
95 вы также можете использовать функцию LookupIconIdFromDirectoryEx) и LoadResource.
cbIconBits – определяет размер, в байтах, набора битов, на который указывает
параметр pbIconBits.
fIcon – определяет, будет ли создаваться иконка или курсор. Если значение этого
параметра равно TRUE, создается иконка. Иначе создается курсор.
dwVersion – определяет номер версии формата иконки или курсора для битов ресурса,
на которые указывает параметр pbIconBits. Параметр может принимать одно из следующих
значений: Формат  Значение
Windows 2.x     0x00020000
Windows 3.x     0x00030000 Все Win32 приложения должны использовать для иконок и курсоров формат Windows
3.x.
cxDesired – определяет желаемую ширину иконки или курсора в пикселях. Если значение
этого параметра равно нулю, функция использует значения метрики системы SM_CXICON
или SM_CXCURSOR для установки ширины.
cyDesired – определяет желаемую высоту иконки или курсора в пикселях. Если значение
этого параметра равно нулю, функция использует значения метрики системы SM_CXICON
или SM_CXCURSOR для установки высоты.
uFlags – определяет комбинацию из следующих значений: Значение        Пояснение
LR_DEFAULTCOLOR Используется цветовой формат по умолчанию.
LR_MONOCHROME   Создается монохромная иконка или курсор. Возвращаемые значения В случае успеха возвращается дескриптор иконки или курсора.
В случае неудачи возвращается нуль. Для получения дополнительной информации об
ошибке вызовите функцию GetLastError. Комментарии Функции CreateIconFromResourceEx, CreateIconFromResource, CreateIconIndirect,
GetIconInfo и LookupIconIdFromDirectoryEx позволяют приложениям оболочки и браузерам
иконок проверять и использовать ресурсы См. также BITMAPINFOHEADER, CreateIconFromResource, CreateIconIndirect, GetIconInfo, LoadResource,
LookupIconIdFromDirectoryEx . хелп по WinAPI: http://www.winnt.rsm.org.ru/winapi/win32api.exe


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
RA
Дата 14.6.2002, 17:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Брутальный буратина
****


Профиль
Группа: Участник Клуба
Сообщений: 3497
Регистрация: 31.3.2002
Где: Лес

Репутация: 1
Всего: 115



Вот глянька что, я нашёл. Название громкое "Замена ресурсов" но я не втыкаю
как этот код можно заставить работать, может ты воткнёшь.

http://www.sources.ru/delphi/delphi_resource_to_from_dll_exe.shtml
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Звук, графика и видео"
Girder
Snowy
Alexeis

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • По вопросам разработки игр стоит заглянуть сюда

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Girder, Snowy.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Звук, графика и видео | Следующая тема »


 




[ Время генерации скрипта: 0.0887 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.