Друзья! Короче, куча функций в экзешнике, все завершаются без ошибок, а ничё не перегоняется, не знаю даже, с чего начать. В общем, так, имеется два простых-простых экзешника ra_0.exe и ra_1.exe, в каждом мз котором ресурсов по ОДНОЙ иконке, вот так выглядит картина, если получать список любого, например ra_0.exe: Код (Text): Имя типа в виде числа 3 Имя ресурса в виде числа 1 Имя языка в виде числа 409 Имя типа в виде числа 14 Имя ресурса строчное MAIN Имя языка в виде числа 409 ...То есть как я ни надеялся, что будет ОДИН ресурс (иконка), получается почему-то два (почему, спрашивается? Ну да чёрт с ними, может, так надо). Ну вот, начать с того, что я перегоняя иконку из ra_0.exe в ra_1.exe, я перегоняю ОБА ресурса, а может надо один? Например первый или второй, чёрт его знает. (Опять же сразу вопрос, ну он может не важен, ну чтобы тему отдеьную не кропать- а язык-то ту при чём? Я вообще сперва считал что ресь идёт о языке программирования, а оказывается что это английский язык или какой там. Короче, 409 означает, что иконка нарисована у меня на английском языке, вот как!)
А вопрос в чем? Почему в файле два RT_ICON? Потому что в нем два RT_ICON К примеру для RT_STRING, программа загружает строки с нужным языком, исходя из текущего языка системы. Применительно к RT_ICON допустим 409 флаг америки, 419 флаг России.
Ну, во-первых, это неправда. В файле один RT_ICON И один RT_GROUP_ICON Код (Text): Имя типа в виде числа 3 Код (Text): #define RT_ICON MAKEINTRESOURCE(3) +++++++++++++++++++++++++ Код (Text): Имя типа в виде числа 14 Код (Text): #define RT_GROUP_ICON MAKEINTRESOURCE(14) +++++++++++++++++++++++++ А вопрос заключается, дабы перегнать иконку, ну чтобы видно было иконку, чтобы я смотрел на файл ra_1.exe и видел там ту же иконку, что и на файле ra_0.exe, надо два ресурса перегонять или один, и если один, то какой именно?
Вам ваша программа так и перечисляет: Код (Text): Имя типа в виде числа 3 Имя типа в виде числа 14 Код (Text): RT_ICON = 3, RT_GROUP_ICON = 14, То что отображает эксплорер это первая группа иконок(RT_GROUP_ICON) если такого типа ресурса нет, то иконка не отображается. Как с помощью WinAPI делать я не знаю, т.к. у меня свой модуль который сам во всем этом работает, но примерно нужно дергать первую RT_GROUP_ICON из исходного файла, смотреть в ней имена иконок(порядковые номера в RT_ICON) и копировать их в конечный файл, затем скопировать сам RT_ICON_GROUP. А вообще есть LoadIcon(), не знаю как с ней работать, и для этого ли она: http://msdn.microsoft.com/en-us/library/windows/desktop/ms648072(v=vs.85).aspx
А перегонять-то что? Про LoadIcon я знаю, так опять с ней тыкаться как слепой котёнок, нигде кода рабочего нет, с одним уж разобраться надо.
Sunzer Есть ещё LANG_NEUTRAL, что, применительно к иконкам, выглядит наиболее логично. Аффтару темы, возможно, пригодится сикретный и превадный цодес из аттача. Там, правда, не совсем то, а именно замена главной иконки EXE на произвольную из файла .ICO, а не из другого .EXE, но как материал для размышления сгодится.