обозначает параметр pName. В статье написано, что это "числовой идентификатор ресурса". Но каким именно число должен быть этот идентификатор? В смысле, это какие-то предопределенные числа или я могу использовать любое число, которым будет помечен ресурс в файле, главное чтобы ресурса с таким-же идентификатором не было
lpName
[in] Pointer to a null-terminated string specifying the name of the resource to be updated. Alternatively, rather than a pointer, this parameter can be MAKEINTRESOURCE(ID), where ID is a resource ID. When creating a new resource do not use a string that begins with a '#' character for this parameter.
А>обозначает параметр pName. В статье написано, что это "числовой идентификатор ресурса". Но каким именно число должен быть этот идентификатор? В смысле, это какие-то предопределенные числа или я могу использовать любое число, которым будет помечен ресурс в файле, главное чтобы ресурса с таким-же идентификатором не было
Посмотрите, как в C++ (win) объявлен макрос IS_INTRESOURCE. Дело в том, что не смотря на то, что параметр имеет строковый тип он может быть и числом. Со времён Win16 память экономили.
Этот параметр — либо указатель на строку, либо число (какое — вы придумываете сами, но нельзя делать так, чтобы у вас было более одного ресурса одного типа с одинаковым ID). Так что я немного сомневаюсь в правильности объявленной вами сигнатуры.
В общем — попробуйте поэкспериментировать, в том числе со строками вида "#100" — как написал предыдущий автор. В MSDN это всё достаточно подробно расписано.
SaZ>Какое — вы придумываете сами, но нельзя делать так, чтобы у вас было более одного ресурса одного типа с одинаковым ID. Так что я немного сомневаюсь в правильности объявленной вами сигнатуры.
Поиском пользоваться умею, вопрос был не про поиск(это предыдущему автору) Просто из MSDN непонятно, что это просто ЛЮБАЯ строка идентификатор или ОПРЕДЕЛЕННАЯ строка идентификатор, как для параметра pType(например "RT_BITMAP"), вот я и спросил. А то эта функция что-то работать не хочет, уже всё перепробовал. Возвращает true, типа всё в порядке, а ресурс в файл не добавляется. Правда я её использую в проекте на C#, может быть с этим связано Хотя WinAPI должно быть пофигу
SaZ>>Какое — вы придумываете сами, но нельзя делать так, чтобы у вас было более одного ресурса одного типа с одинаковым ID. Так что я немного сомневаюсь в правильности объявленной вами сигнатуры.
А>Поиском пользоваться умею, вопрос был не про поиск(это предыдущему автору) Просто из MSDN непонятно, что это просто ЛЮБАЯ строка идентификатор или ОПРЕДЕЛЕННАЯ строка идентификатор, как для параметра pType(например "RT_BITMAP"), вот я и спросил. А то эта функция что-то работать не хочет, уже всё перепробовал. Возвращает true, типа всё в порядке, а ресурс в файл не добавляется. Правда я её использую в проекте на C#, может быть с этим связано Хотя WinAPI должно быть пофигу
Ну, собственно почему любая то? Это именно идентификатор ресурса который вы обновляете. То что я привел выше — цитата из MSDN. Почему не добавляется — надо смотреть на GetLastError(). Возможно в шарпе что-то переиначили и напрямую там нельзя трогать ресурсы вашей сборки. Просто так сказать сложно.
Здравствуйте, Аноним, Вы писали:
А>Поиском пользоваться умею, вопрос был не про поиск(это предыдущему автору) Просто из MSDN непонятно, что это просто ЛЮБАЯ строка идентификатор или ОПРЕДЕЛЕННАЯ строка идентификатор, как для параметра pType(например "RT_BITMAP"), вот я и спросил. А то эта функция что-то работать не хочет, уже всё перепробовал. Возвращает true, типа всё в порядке, а ресурс в файл не добавляется. Правда я её использую в проекте на C#, может быть с этим связано Хотя WinAPI должно быть пофигу
P.S. RT_BITMAP — без кавычек. Это не строка, это число. Если вы попробуете добавить ресурс типа "RT_BITMAP" — то это не будет добавлением картинки, это будет добавление пользовательского ресурса "RT_BITMAP".
И насчёт картинок... конкретно .bmp в ресурсах как-то по-особенному лежат. Это не просто дамп .bmp файла.
SaZ>>Какое — вы придумываете сами, но нельзя делать так, чтобы у вас было более одного ресурса одного типа с одинаковым ID. Так что я немного сомневаюсь в правильности объявленной вами сигнатуры.
А>Поиском пользоваться умею, вопрос был не про поиск(это предыдущему автору) Просто из MSDN непонятно, что это просто ЛЮБАЯ строка идентификатор или ОПРЕДЕЛЕННАЯ строка идентификатор, как для параметра pType(например "RT_BITMAP"), вот я и спросил. А то эта функция что-то работать не хочет, уже всё перепробовал. Возвращает true, типа всё в порядке, а ресурс в файл не добавляется. Правда я её использую в проекте на C#, может быть с этим связано Хотя WinAPI должно быть пофигу
pType и pName могут быть как числами (практически любыми), так и строками (с некоторыми ограничениями).
Функция может не хотеть работать по многим причинам.
1. Перед использованием нужно сделать BeginUpdateResource.
2. После нужно сделать EndUpdateResource.