|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
14.02.2014, 11:15 | #11 |
Сумрачная тень
Форумчанин
Регистрация: 05.03.2009
Сообщений: 689
|
Вот именно, что и возвращает именно индекс ресурса, а не его имя!
Ваша реализация на С++ в Delphi: Код:
"ковыряю изнутри" (с)
|
14.02.2014, 12:40 | #12 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
В D7 в демках есть проект c исходниками resxplor, он вынимает имена иконок
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
14.02.2014, 13:16 | #13 |
Сумрачная тень
Форумчанин
Регистрация: 05.03.2009
Сообщений: 689
|
В том то и дело, что нужно понять как это делается на чистом АПИ. А в этих исходниках черт пойми что понаписано. Нестандарт. Или же я не прав?
"ковыряю изнутри" (с)
|
14.02.2014, 14:35 | #14 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,342
|
|
14.02.2014, 14:49 | #15 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Да это чистое АПИ как раз игнорит имена иконок. Ребята из борланд просто в ресурсе по смещениям шарились для поиска имени
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
14.02.2014, 14:50 | #16 |
Сумрачная тень
Форумчанин
Регистрация: 05.03.2009
Сообщений: 689
|
waleri, я отписался в посте #11 про этот код. Это проверено. Старшее слово всегда равно нулю, поэтому всегда возвращается идентификатор ресурса вместо его строкового имени.
Тогда поясните и ткните в точку моей тупости. Бьюсь 4й день, идеи кончились. Посмотрел в сэмплах РезЭксплор пример... но хочется реализовать на чистом WinAPI, чтобы быть независимым от констант и РЕ-хэдеров. Это стало почти возможным, как видно.
"ковыряю изнутри" (с)
|
14.02.2014, 15:45 | #17 |
Сумрачная тень
Форумчанин
Регистрация: 05.03.2009
Сообщений: 689
|
нарыл в нете такой модуль:<<линк>>
Интересует функция Код:
"ковыряю изнутри" (с)
|
14.02.2014, 15:53 | #18 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,342
|
Откройте все же список с *иконами* в res hacker и посмотрим какие он там имена увидит - на скриншоте reshacker у вас НЕ иконы.
|
14.02.2014, 16:08 | #19 |
Сумрачная тень
Форумчанин
Регистрация: 05.03.2009
Сообщений: 689
|
Да иконки то я извлекаю успешно. Код выложил выше. Я понимаю что это не иконки. И почему-то РезХакер определил имена ресурсов иконок в секцию GROUP_ICON в дереве на скрине. Понимаю что имена ресурсов (если они есть) лежат в другой области. Есть предположение, что нужно стучаться к заголовочным структурам ресурсов на этапе вызова FindResource и LoadResource, а именно <<<тут>>>
Как я понял, метод FindResource возвращает указатель из NT_HEADER'а на указатель к ресурсу, оперируя внутренними заголовочными структурами и сдвигами по ним. LoadResource возвращает указатель непосредственно на заголовочную структуру ресурса. А LockResource возвращает указатель на данные самого битового образа в случае RT_ICON.
"ковыряю изнутри" (с)
|
14.02.2014, 16:24 | #20 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,342
|
Т.е. у вас есть вызов 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 |