Поделиться через


Создание библиотек DLL, содержащих только ресурсы

Библиотека 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 по окончанию использования ресурсов.

Дополнительные сведения

См. также

Основные понятия

DLL в Visual C++