Создание библиотек DLL, содержащих только ресурсы
Обновлен: Ноябрь 2007
Библиотека DLL, содержащая только ресурсы — библиотекой, в которой содержатся только ресурсы, такие как, иконки, растровые изображения, строки и диалоговые окна. Использование библиотек DLL, содержащих только ресурсы является хорошим способом совместно использовать один и тот же набор ресурсов несколькими программами. Также рекомендуется использовать приложение с ресурсами, локализованными для нескольких языков (см. Локализованные ресурсы в приложениях MFC: Вспомогательные библиотеки DLL).
Чтобы создать библиотеку DLL, содержащую только ресурсы, необходимо создать новый проект Win32 DLL (не MFC) и добавить имеющийся ресурс в проект.
Выберите "Проект Win32" в диалоговом окне Новый проект и укажите тип проекта библиотеки DLL в "Мастере проекта Win32".
Создайте новый сценарий ресурсов, содержащий ресурсы (такие как строка или меню) для библиотеки DLL, а затем сохраните RC-файл.
В меню Проект щелкните Добавить существующий элемент, а затем вставьте в проект новый RC-файл.
Укажите параметр компоновщика /NOENTRY. /NOENTRY запрещает компоновщику соединять ссылку с _main в библиотеке DLL; данный параметр требуется для создания библиотек DLL, содержащих только ресурсы.
Постройте библиотеку DLL.
Приложение, которое использует библиотеки DLL, содержащие только ресурсы должно вызывать LoadLibraryявной ссылкой на библиотеку DLL. Чтобы получить доступ к ресурсам, вызовите универсальные функции FindResource и LoadResource, которые работают со всеми видами ресурсов, либо вызовите одну из следующих функций конкретного ресурса:
FormatMessage
LoadAccelerators
LoadBitmap
LoadCursor
LoadIcon
LoadMenu
LoadString
Приложение должно вызывать FreeLibrary по окончанию использования ресурсов.