リソースのみの DLL の作成

リソースのみの DLL とは、リソース以外のものを一切含まず、アイコン、ビットマップ、文字列、ダイアログ ボックスだけを含む DLL です。 リソースのみの DLL は、複数のプログラム間でリソース群を共有するのに適しています。 また、複数の言語にローカライズされたリソースをアプリケーションに提供する場合にも適しています。 詳細については、「MFC アプリケーションのローカライズされたリソース: サテライト DLL」を参照してください。

リソースのみの DLL を作成する

リソースのみの DLL を作成するには、Windows DLL (非 MFC) プロジェクトを新規作成し、ここにリソースを追加します。

  1. [新しいプロジェクト] ダイアログ ボックスで [Win32 プロジェクト] を選択します。 プロジェクトとソリューションの名前を入力し、[OK] を選択します。

  2. Win32 アプリケーション ウィザードで、[アプリケーション設定] を選択します。 [DLL][アプリケーションの種類] を選択します。 [追加のオプション][空のプロジェクト]を選択します。 [完了] を選択してプロジェクトを作成します。

  3. DLL のリソース (文字列やメニューなど) を含む新しいリソース スクリプトを作成します。 .rc ファイルを保存します。

  4. [プロジェクト] メニューで、[既存項目の追加] を選択し、新しい .rc ファイルをプロジェクトに挿入します。

  5. /NOENTRY リンカー オプションを指定します。 /NOENTRY を指定すると、_main への参照が DLL にリンクされません。リソースのみの DLL を作成する場合は、このオプションを指定する必要があります。

  6. DLL をビルドします。

  1. [新しいプロジェクト] ダイアログ ボックスで [Windows デスクトップ ウィザード] を選択し、[次へ] を選択します [新しいプロジェクトの構成] ページで、プロジェクトとソリューションの名前を入力し、[作成] を選択します。

  2. [Windows デスクトップ プロジェクト] ダイアログ ボックスで、[ダイナミック リンク ライブラリ][アプリケーションの種類] を選択します。 [追加のオプション][空のプロジェクト]を選択します。 [OK] を選択してプロジェクトを作成します。

  3. DLL のリソース (文字列やメニューなど) を含む新しいリソース スクリプトを作成します。 .rc ファイルを保存します。

  4. [プロジェクト] メニューで、[既存項目の追加] を選択し、新しい .rc ファイルをプロジェクトに挿入します。

  5. /NOENTRY リンカー オプションを指定します。 /NOENTRY を指定すると、_main への参照が DLL にリンクされません。リソースのみの DLL を作成する場合は、このオプションを指定する必要があります。

  6. DLL をビルドします。

リソースのみの DLL を使用する

リソースのみの DLL を使用するアプリケーションの場合、LoadLibraryEx または関連する関数を呼び出して、DLL に明示的にリンクする必要があります。 リソースにアクセスするには、あらゆる種類のリソースで機能する汎用関数 FindResource および LoadResource を呼び出します。 または、次のリソース固有の関数のいずれかを呼び出します。

  • FormatMessage

  • LoadAccelerators

  • LoadBitmap

  • LoadCursor

  • LoadIcon

  • LoadMenu

  • LoadString

リソースの使用が終了したら、アプリケーションから FreeLibrary を呼び出す必要があります。

関連項目

リソース ファイルの操作
Visual Studio での C/C++ Dll の作成