Как загрузить собственный двоичный ресурс в статическую библиотеку VC ++ как часть dll?

У меня есть пользовательские двоичные ресурсы (анимированные курсоры), которые хотелось бы сохранить как ресурсы в статической библиотеке Visual Studio C ++. Оказывается, пользовательские двоичные ресурсы не будут загружены :: LoadCursor () или найдены :: FindResource (), если это пользовательский ресурс в статической библиотеке.

Этот вопрос дает некоторую работу.

Следуя его совету, если я добавлю файл * .res в exe как «Свойство конфигурации-> Компоновщик-> Дополнительная зависимость», то статическая библиотека сможет найти ресурс.

НО если статическая библиотека является частью dll и я подключаю ее как дополнительную зависимость, она больше не будет найдена!

Как связать ресурсы в dll?

Или просто сделать так, чтобы двоичный файл находился в статической библиотеке? Методы в вопросе довольно громоздки.

17
задан Community 23 May 2017 в 12:03
поделиться

1 ответ

В случае, если Вы используете dll использование MFC (и CWinApp), можно получить HMODULE из CWinApp.

extern MyDllApp theApp;
HMODULE module = (HMODULE)theApp.m_hInstance;
HRSRC myResource = ::FindResource(module,
            MAKEINTRESOURCE(IDR_FILE_RESOURCE), _T("GROUP_NAME"));

, Если Вы предоставляете NULL в FindResource, приложение не найдет Ваш ресурс.

0
ответ дан 30 November 2019 в 11:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: