.RES ファイルとは何ですか?
.res サフィックスまたは拡張子を持つファイルは、多くのファイル形式カテゴリに属することができます。ここでは、C++ コンパイル済みリソース スクリプトである RES ファイル形式について説明します。リソース データを含む Microsoft Resource Compiler (rc) によって作成されたバイナリ ファイル。リソース定義ファイルの内容に基づきます。親ソフトウェア プロジェクトに関連します。通常、.res ファイルはリソース オブジェクト ファイルに再フォーマットされ、アプリケーションの実行可能ファイルにリンクされます。
RES ファイル形式
RES ファイル形式は、Microsoft Resource Compiler (rc) に属します。リソース コンパイラは、アプリケーションが使用するカーソル、アイコン、メニュー、ダイアログ ボックスなどのリソースをコンパイルするツールです。通常、リソース ファイルの拡張子は .res です。カーソル、画像、バージョン情報などのリソースが含まれています。 RES ファイルは、16 ビットまたは 32 ビットのリソース ファイルです。
リソース ファイルの構造
リソース ファイルには、一連のさまざまなリソース エントリが含まれています。各エントリには、リソース ヘッダーと関連データが含まれます。通常、リソース ヘッダーはファイル内で DWORD に配置され、次の内容が含まれます。
- リソース ヘッダーのサイズを指定する DWORD
- リソース データのサイズを指定する DWORD
- リソースタイプ
- リソース名
- 追加のリソース情報
リソース ヘッダー構造は、RES ファイルの形式を定義します。リソースのデータは、リソース ヘッダーの後に続きます。一部のリソースは、リソースのグループに関する情報を提供するために、リソース固有のグループ ヘッダー パターンも追加します。以下は、リソース エントリ タイプとその説明の一部です。
アクセラレータ テーブル リソース
アクセラレータ テーブルは、グループ ヘッダーのない RES ファイル内のリソース エントリです。 ACCELTABLEENTRY パターンは、アクセラレータ テーブルの各エントリを定義します。 RES ファイルには、複数のアクセラレータ テーブルが含まれる場合があります。
カーソルとアイコンのリソース
ただし、システムは各アイコンとカーソルを 1 つのファイルと見なしますが、これらはアイコン リソースのグループまたはカーソル リソースのグループとして RES ファイルに格納されます。アイコンリソースとカーソルリソースのファイル形式は同じです。リソース グループ ヘッダーは、.res ファイル内の個々のアイコンまたはカーソル グループのすべてのコンポーネントの後に続きます。
ダイアログボックスのリソース
ダイアログ ボックスも、RES ファイルのリソース エントリとして実現されます。これには、1 つの DLGTEMPLATE ダイアログ ボックス ヘッダー パターンと、ダイアログ ボックス内の特定のコントロールごとに 1 つの DLGITEMTEMPLATE パターンが含まれています。 DLGTEMPLATEEX および DLGITEMTEMPLATEEX パターンは、拡張ダイアログ ボックス リソースの形式を説明しています。
フォント リソース
メニュー リソースには、MENUHEADER パターンと、それに続く 1 つ以上の NORMALMENUITEM または POPUPMENUITEM パターン (メニュー テンプレートの各メニュー項目に 1 つ) が含まれます。 MENUEX_TEMPLATE_HEADER および MENUEX_TEMPLATE_ITEM パターンは、拡張メニュー リソースの形式を説明します。
メッセージテーブルのリソース
メッセージ テーブルは、エラー メッセージとして、またはメッセージ ボックスに表示するための書式設定されたテキストで構成されます。メッセージ テーブル リソースの主なパターンは MESSAGE_RESOURCE_DATA 構造です。
バージョン リソース
バージョン リソースの主なパターンは VS_FIXEDFILEINFO です。追加のパターンには、言語情報関連データを格納する VarFileInfo と、カスタム文字列情報用の StringFileInfo が含まれます。