Création d'une DLL de ressource uniquement
Une DLL de ressource uniquement est une DLL qui ne contient que des ressources, telles que des icônes, des images bitmap, des chaînes et des boîtes de dialogue. L'utilisation d'une DLL de ressource uniquement est une bonne méthode pour partager le même jeu de ressources entre plusieurs programmes. C'est aussi une bonne manière de doter une application de ressources localisées pour plusieurs langues (consultez Ressources localisées dans des applications MFC : DLL satellites).
Pour créer une DLL de ressource uniquement, créez un nouveau projet de DLL Win32 (non-MFC) et ajoutez-y vos ressources.
Sélectionnez Projet Win32 dans la boîte de dialogue Nouveau projet et spécifiez un type de projet DLL dans l'Assistant Projet Win32.
Créez un script de ressource contenant les ressources (une chaîne ou un menu, par exemple) de la DLL et enregistrez le fichier .rc.
Dans le menu Projet, cliquez sur Ajouter un élément existant et insérez le nouveau fichier .rc dans le projet.
Spécifiez l'option /NOENTRY de l'éditeur de liens. /NOENTRY empêche l'éditeur de liens de lier à la DLL une référence désignant _main ; cette option est requise pour la création d'une DLL de ressource uniquement.
Générez la DLL.
L'application qui utilise la DLL de ressource uniquement doit appeler LoadLibrary pour se lier de manière explicite à la DLL. Pour accéder aux ressources, appelez les fonctions génériques FindResource et LoadResource, qui fonctionnent sur n'importe quel type de ressources, ou appelez l'une des fonctions spécifiques aux ressources suivantes :
FormatMessage
LoadAccelerators
LoadBitmap
LoadCursor
LoadIcon
LoadMenu
LoadString
L'application doit appeler FreeLibrary quand elle a fini d'utiliser les ressources.