Re[4]: загрузка рисунка из ресурса dll
От: okman Беларусь https://searchinform.ru/
Дата: 01.02.13 19:19
Оценка:
Здравствуйте, loggik, Вы писали:

L>Вопрос решен, вот с таким дескриптором ресурс находится.


L>
L>HANDLE GetCurrModuleHandle()
L>{
L>    char path[MAX_PATH] = {0};

L>    MEMORY_BASIC_INFORMATION minfo;
L>    ZeroMemory(&minfo, sizeof(MEMORY_BASIC_INFORMATION));
L>    if(VirtualQuery((void *)GetCurrModuleHandle, &minfo, sizeof(MEMORY_BASIC_INFORMATION)))
L>    {
L>        GetModuleFileName((HMODULE)minfo.AllocationBase, path, MAX_PATH);
L>        return GetModuleHandle(path);
L>    }

L>    return 0;
L>}
L>


Это делается проще. Когда грузится dll, в ее точку входа (DllMain) приходит хэндл модуля.
Вот его и надо запомнить, а потом использовать для загрузки ресурсов, находящися в ней.
Да и для и других функций тоже.

А находить и загружать ресурсы надежнее всего с помощью трио EnumResourceTypes,
EnumResourceNames и EnumResourceLanguages. Дело в том, что в зависимости от того, каким
способом ресурсы добавляются в проект, они могут получать разные языковые идентификаторы, и
в определенных ситуациях стандартными FindResource(Ex) эти ресурсы перестают находиться.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.