リソースのみの DLL の作成
リソースのみの DLL とは、リソース以外のものを一切含まず、アイコン、ビットマップ、文字列、ダイアログ ボックスだけを含む DLL です。 リソースのみの DLL は、複数のプログラム間でリソース群を共有するのに適しています。 また、混合言語を使用できるようにローカライズされたリソースをアプリケーションに提供する方法としても最適です。詳細については、「MFC アプリケーションのローカライズされたリソース : サテライト DLL」を参照してください。
リソースのみの DLL を作成するには、Win32 DLL (非 MFC) プロジェクトを新規作成し、ここにリソースを追加します。
[新しいプロジェクト] ダイアログ ボックスの [Win32 プロジェクト] を選択し、Win32 プロジェクト ウィザードの DLL プロジェクト タイプを指定します。
DLL 用のリソース (文字列やメニューなど) を含むリソース スクリプトを新規作成し、.rc ファイルに保存します。
[プロジェクト] メニューの [既存項目の追加] をクリックし、新しい .rc ファイルをプロジェクトに追加します。
/NOENTRY リンカー オプションを指定します。/NOENTRY を指定すると、_main への参照が DLL にリンクされません。リソースのみの DLL を作成する場合は、このオプションを指定する必要があります。
DLL をビルドします。
リソースのみの DLL を使用するアプリケーションでは、LoadLibrary を呼び出して DLL に明示的にリンクする必要があります。 リソースにアクセスするには、ジェネリック関数 FindResource と LoadResource を呼び出します。これらの関数は、リソースの種類に関係なく動作し、以下のリソース固有関数の中の 1 つを呼び出します。
FormatMessage
LoadAccelerators
LoadBitmap
LoadCursor
LoadIcon
LoadMenu
LoadString
アプリケーションはリソースを使い終わった時点で、FreeLibrary を呼び出す必要があります。