![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 |
Сумрачная тень
Форумчанин
Регистрация: 05.03.2009
Сообщений: 689
|
![]()
Вот именно, что и возвращает именно индекс ресурса, а не его имя!
Ваша реализация на С++ в Delphi: Код:
"ковыряю изнутри" (с)
|
![]() |
![]() |
![]() |
#12 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
В D7 в демках есть проект c исходниками resxplor, он вынимает имена иконок
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#13 |
Сумрачная тень
Форумчанин
Регистрация: 05.03.2009
Сообщений: 689
|
![]()
В том то и дело, что нужно понять как это делается на чистом АПИ. А в этих исходниках черт пойми что понаписано. Нестандарт. Или же я не прав?
"ковыряю изнутри" (с)
|
![]() |
![]() |
![]() |
#14 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,372
|
![]() |
![]() |
![]() |
![]() |
#15 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
Да это чистое АПИ как раз игнорит имена иконок. Ребята из борланд просто в ресурсе по смещениям шарились для поиска имени
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#16 |
Сумрачная тень
Форумчанин
Регистрация: 05.03.2009
Сообщений: 689
|
![]()
waleri, я отписался в посте #11 про этот код. Это проверено. Старшее слово всегда равно нулю, поэтому всегда возвращается идентификатор ресурса вместо его строкового имени.
Тогда поясните и ткните в точку моей тупости. Бьюсь 4й день, идеи кончились. Посмотрел в сэмплах РезЭксплор пример... но хочется реализовать на чистом WinAPI, чтобы быть независимым от констант и РЕ-хэдеров. Это стало почти возможным, как видно.
"ковыряю изнутри" (с)
|
![]() |
![]() |
![]() |
#17 |
Сумрачная тень
Форумчанин
Регистрация: 05.03.2009
Сообщений: 689
|
![]()
нарыл в нете такой модуль:<<линк>>
Интересует функция Код:
"ковыряю изнутри" (с)
|
![]() |
![]() |
![]() |
#18 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,372
|
![]()
Откройте все же список с *иконами* в res hacker и посмотрим какие он там имена увидит - на скриншоте reshacker у вас НЕ иконы.
|
![]() |
![]() |
![]() |
#19 |
Сумрачная тень
Форумчанин
Регистрация: 05.03.2009
Сообщений: 689
|
![]()
Да иконки то я извлекаю успешно. Код выложил выше. Я понимаю что это не иконки. И почему-то РезХакер определил имена ресурсов иконок в секцию GROUP_ICON в дереве на скрине. Понимаю что имена ресурсов (если они есть) лежат в другой области. Есть предположение, что нужно стучаться к заголовочным структурам ресурсов на этапе вызова FindResource и LoadResource, а именно <<<тут>>>
Как я понял, метод FindResource возвращает указатель из NT_HEADER'а на указатель к ресурсу, оперируя внутренними заголовочными структурами и сдвигами по ним. LoadResource возвращает указатель непосредственно на заголовочную структуру ресурса. А LockResource возвращает указатель на данные самого битового образа в случае RT_ICON.
"ковыряю изнутри" (с)
|
![]() |
![]() |
![]() |
#20 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,372
|
![]()
Т.е. у вас есть вызов EnumResourceName с типом ресурсов RT_ICON_GROUP и там *нет* имен, я правильно понял?
Скиньте-ка файл *из* которого пытаетесь вытащить ресурсы, а то мне стало интересно. |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Получить имена физических дисков. | Ant-kul | C# (си шарп) | 2 | 16.12.2012 15:08 |
Получить имена всех листов в книге | Temnota | Microsoft Office Excel | 6 | 26.12.2009 07:36 |
Получить список ресурсов и сохранить их отдельно | Alex Cones | Общие вопросы Delphi | 16 | 14.11.2009 13:45 |
Получить HWND рабочего стола без иконок | Son | Win Api | 4 | 24.06.2009 15:57 |
Получить доменные имена | lamerx | Работа с сетью в Delphi | 1 | 10.10.2008 16:57 |