リソースのみの DLL の作成
リソースのみの DLL とは、リソース以外のものを一切含まず、アイコン、ビットマップ、文字列、ダイアログ ボックスだけを含む DLL です。 リソースのみの DLL は、複数のプログラム間でリソース群を共有するのに適しています。 また、複数の言語にローカライズされたリソースをアプリケーションに提供する場合にも適しています。 詳細については、「MFC アプリケーションのローカライズされたリソース: サテライト DLL」を参照してください。
リソースのみの DLL を作成する
リソースのみの DLL を作成するには、Windows DLL (非 MFC) プロジェクトを新規作成し、ここにリソースを追加します。
[新しいプロジェクト] ダイアログ ボックスで [Win32 プロジェクト] を選択します。 プロジェクトとソリューションの名前を入力し、[OK] を選択します。
Win32 アプリケーション ウィザードで、[アプリケーション設定] を選択します。 [DLL] の [アプリケーションの種類] を選択します。 [追加のオプション]の [空のプロジェクト]を選択します。 [完了] を選択してプロジェクトを作成します。
DLL のリソース (文字列やメニューなど) を含む新しいリソース スクリプトを作成します。
.rc
ファイルを保存します。[プロジェクト] メニューで、[既存項目の追加] を選択し、新しい
.rc
ファイルをプロジェクトに挿入します。/NOENTRY リンカー オプションを指定します。
/NOENTRY
を指定すると、_main
への参照が DLL にリンクされません。リソースのみの DLL を作成する場合は、このオプションを指定する必要があります。DLL をビルドします。
[新しいプロジェクト] ダイアログ ボックスで [Windows デスクトップ ウィザード] を選択し、[次へ] を選択します [新しいプロジェクトの構成] ページで、プロジェクトとソリューションの名前を入力し、[作成] を選択します。
[Windows デスクトップ プロジェクト] ダイアログ ボックスで、[ダイナミック リンク ライブラリ] の [アプリケーションの種類] を選択します。 [追加のオプション]の [空のプロジェクト]を選択します。 [OK] を選択してプロジェクトを作成します。
DLL のリソース (文字列やメニューなど) を含む新しいリソース スクリプトを作成します。
.rc
ファイルを保存します。[プロジェクト] メニューで、[既存項目の追加] を選択し、新しい
.rc
ファイルをプロジェクトに挿入します。/NOENTRY リンカー オプションを指定します。
/NOENTRY
を指定すると、_main
への参照が DLL にリンクされません。リソースのみの DLL を作成する場合は、このオプションを指定する必要があります。DLL をビルドします。
リソースのみの DLL を使用する
リソースのみの DLL を使用するアプリケーションの場合、LoadLibraryEx または関連する関数を呼び出して、DLL に明示的にリンクする必要があります。 リソースにアクセスするには、あらゆる種類のリソースで機能する汎用関数 FindResource
および LoadResource
を呼び出します。 または、次のリソース固有の関数のいずれかを呼び出します。
FormatMessage
LoadAccelerators
LoadBitmap
LoadCursor
LoadIcon
LoadMenu
LoadString
リソースの使用が終了したら、アプリケーションから FreeLibrary
を呼び出す必要があります。