Erstellen einer DLL als reine RessourceCreating a Resource-Only DLL

Eine reine Ressourcen-DLL ist eine DLL, die ausschließlich Ressourcen enthält, z. B. Symbole, Bitmaps, Zeichenfolgen und Dialogfelder.A resource-only DLL is a DLL that contains nothing but resources, such as icons, bitmaps, strings, and dialog boxes. Die Verwendung einer reinen Ressourcen-DLL bietet eine gute Möglichkeit, dieselben Ressourcen von mehreren Programmen gemeinsam nutzen zu lassen.Using a resource-only DLL is a good way to share the same set of resources among multiple programs. Es ist auch eine gute Möglichkeit, eine Anwendung mit mehreren Sprachen lokalisierte Ressourcen bereitstellen (siehe lokalisierte Ressourcen in MFC-Anwendungen: Satelliten-DLLs).It is also a good way to provide an application with resources localized for multiple languages (see Localized Resources in MFC Applications: Satellite DLLs).

Um eine reine Ressourcen-DLL zu erstellen, erstellen Sie ein neues Win32-DLL-Projekt (MFC-fremd) und fügen dem Projekt die Ressourcen hinzu.To create a resource-only DLL, you create a new Win32 DLL (non-MFC) project and add your resources to the project.

  • Wählen Sie Win32-Projekt in der neues Projekt Dialogfeld ein, und geben Sie im Win32-Projekt-Assistenten einen DLL-Projekttyp.Select Win32 Project in the New Project dialog box and specify a DLL project type in the Win32 Project Wizard.

  • Erstellen Sie für die DLL ein neues Ressourcenskript, das die Ressourcen (z. B. eine Zeichenfolge oder ein Menü) enthält, und speichern Sie es als RC-Datei.Create a new resource script that contains the resources (such as a string or a menu) for the DLL and save the .rc file.

  • Auf der Projekt Menü klicken Sie auf vorhandenes Element hinzufügen, und klicken Sie dann die neuen RC-Datei in das Projekt einfügen.On the Project menu, click Add Existing Item, and then insert the new .rc file into the project.

  • Geben Sie die /NOENTRY -Linkeroption.Specify the /NOENTRY linker option. / NOENTRY verhindert, dass den Linker einen Verweis auf _main in die DLL; diese Option muss eine reine Ressourcen-DLL zu erstellen./NOENTRY prevents the linker from linking a reference to _main into the DLL; this option is required to create a resource-only DLL.

  • Erstellen Sie die DLL.Build the DLL.

Die Anwendung, die reine Ressourcen-DLL verwendet, sollten Aufrufen LoadLibrary explizit auf die DLL verknüpfen.The application that uses the resource-only DLL should call LoadLibrary to explicitly link to the DLL. Um die Ressourcen zuzugreifen, rufen Sie die generischen Funktionen FindResource und LoadResource, die für jede Art von Ressource zu arbeiten, oder rufen Sie eine der folgenden ressourcenspezifischen Funktionen:To access the resources, call the generic functions FindResource and LoadResource, which work on any kind of resource, or call one of the following resource-specific functions:

  • FormatMessage

  • LoadAccelerators

  • LoadBitmap

  • LoadCursor

  • LoadIcon

  • LoadMenu

  • LoadString

Die Anwendung sollte Aufrufen FreeLibrary nach Abschluss die Ressourcen verwenden.The application should call FreeLibrary when it is finished using the resources.

Siehe auchSee also

Arbeiten mit RessourcendateienWorking with Resource Files
Erstellen von C/C++-DLLs in Visual StudioCreate C/C++ DLLs in Visual Studio