Dela via


Skapa en DLL för endast resurser

En DLL för endast resurser är en DLL som bara innehåller resurser, till exempel ikoner, bitmappar, strängar och dialogrutor. Att använda en DLL för endast resurser är ett bra sätt att dela samma uppsättning resurser mellan flera program. Det är också ett bra sätt att tillhandahålla ett program med resurser lokaliserade för flera språk. Mer information finns i Lokaliserade resurser i MFC-program: Satellit-DLL:er.

Skapa en DLL för endast resurs

Om du vill skapa en DLL för endast resurser skapar du ett nytt Windows DLL-projekt (icke-MFC) och lägger till dina resurser i projektet:

  1. Välj Win32-projekt i dialogrutan Nytt projekt . Ange projekt- och lösningsnamnen och välj OK.

  2. I guiden Win32-program väljer du Programinställningar. Välj en programtyp av DLL. Under Ytterligare alternativ väljer du Tomt projekt. Välj Slutför för att skapa projektet.

  3. Skapa ett nytt resursskript som innehåller resurserna för DLL(till exempel en sträng eller en meny). Spara filen .rc.

  4. Projekt-menyn väljer du Lägg till befintligt objekt och infogar sedan den nya .rc filen i projektet.

  5. Ange /NOENTRY-linker-alternativet. /NOENTRY förhindrar att länkaren länkar en referens till _main i DLL:en; det här alternativet krävs för att skapa en DLL som endast innehåller resurser.

  6. Skapa DLL:en.

  1. Välj Windows Desktop-guiden i dialogrutan Nytt projekt och välj Nästa. På sidan Konfigurera ditt nya projekt anger du projekt- och lösningsnamnen och väljer Skapa.

  2. I dialogrutan Windows Desktop-projekt väljer du en programtyp för Dynamic Link-bibliotek. Under Ytterligare alternativ väljer du Tomt projekt. Välj OK för att skapa projektet.

  3. Skapa ett nytt resursskript som innehåller resurserna för DLL(till exempel en sträng eller en meny). Spara filen .rc.

  4. Projekt-menyn väljer du Lägg till befintligt objekt och infogar sedan den nya .rc filen i projektet.

  5. Ange /NOENTRY-linker-alternativet. /NOENTRY förhindrar att länkaren länkar en referens till _main i DLL:en; det här alternativet krävs för att skapa en DLL som endast innehåller resurser.

  6. Skapa DLL:en.

Använda en endast resurs-DLL

Programmet som använder den endast resursbaserade DLL:n ska anropa LoadLibraryEx eller en relaterad funktion för att uttryckligen länka till DLL:n. Om du vill komma åt resurserna anropar du de allmänna funktionerna FindResource och LoadResource, som fungerar på alla typer av resurser. Eller anropa någon av följande resursspecifika funktioner:

  • FormatMessage

  • LoadAccelerators

  • LoadBitmap

  • LoadCursor

  • LoadIcon

  • LoadMenu

  • LoadString

Applikationen bör anropa FreeLibrary när den har slutat använda resurserna.

Se även

Arbeta med resursfiler
Skapa DLL:er för C/C++ i Visual Studio