« [PV3] アースソフトPV3をWindows Vista 64ビット版対応へ | トップページ | [VC6] 指定URLのファイルダウンロード »

2008年5月19日 (月)

[VC6] リソースファイル(.rc)から外部リソースファイルのインクルード

VC6の一つプロジェクトでリソースファイルの一部分を別のファイルとして切り離し、共通部分はそのまま残したい場面が出てきたので、今日はファイルを分割し外部リソースファイルとしてのインクルードをしてみました。
今回はファイルバージョン部分を分岐。

■1 - プロジェクト.rcからファイルバージョン部分を切り取り、テキストエディタでFileVersion.rcを作成して貼り付け。
#ifndef _MAC
/////////////////////////////////////////////////////////////////////////////
//
// Version
//

VS_VERSION_INFO VERSIONINFO
 FILEVERSION 1,1,0,0
 PRODUCTVERSION 1,1,0,0
 FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
 FILEFLAGS 0x1L
#else
 FILEFLAGS 0x0L
#endif
 FILEOS 0x4L
 FILETYPE 0x1L
 FILESUBTYPE 0x0L
BEGIN
    BLOCK "StringFileInfo"
    BEGIN
        BLOCK "041104b0"
        BEGIN
            VALUE "Comments", "***** Ver.1.1.0\0"
            VALUE "CompanyName", "*****\0"
            VALUE "FileDescription", "*****\0"
            VALUE "FileVersion", "1, 1, 0, 0\0"
            VALUE "InternalName", "*****\0"
            VALUE "LegalCopyright", "Copyright (C) ***** All Rights Reserved.\0"
            VALUE "LegalTrademarks", "*****\0"
            VALUE "OriginalFilename", "*****.EXE\0"
            VALUE "ProductName", "*****\0"
            VALUE "ProductVersion", "1, 1, 0, 0\0"
        END
    END
    BLOCK "VarFileInfo"
    BEGIN
        VALUE "Translation", 0x411, 1200
    END
END

#endif    // !_MAC

■2 - プロジェクト.rcにVersionInfo.rcをインクルード
3 TEXTINCLUDE DISCARDABLE 
BEGIN
    "#define _AFX_NO_SPLITTER_RESOURCES\r\n"
    "#define _AFX_NO_OLE_RESOURCES\r\n"
    "#define _AFX_NO_TRACKER_RESOURCES\r\n"
    "#define _AFX_NO_PROPERTY_RESOURCES\r\n"
    "\r\n"
    "#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_JPN)\r\n"
    "#ifdef _WIN32\r\n"
    "LANGUAGE 17, 1\r\n"
    "#pragma code_page(932)\r\n"
    "#endif //_WIN32\r\n"
    "#include ""res\\WebMaker.rc2""  // Microsoft Visual C++ 以外のツールで編集されたリソース\r\n"
    "#include ""l.jpn\\afxres.rc""          // 標準のコンポーネント\r\n"
    "#include ""l.jpn\\afxprint.rc""        // 印刷/印刷プレビュー リソース\r\n"
    "#include ""VersionInfo.rc""            // バージョン情報\r\n" ◆◆◆←ここに追加◆◆◆
    "#endif\r\n"
    "\0"
END

~~~~~~~~~~~~~~~ 中略 ~~~~~~~~~~~~~~~~~~~~~~~

#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 3 resource.
//
#define _AFX_NO_SPLITTER_RESOURCES
#define _AFX_NO_OLE_RESOURCES
#define _AFX_NO_TRACKER_RESOURCES
#define _AFX_NO_PROPERTY_RESOURCES

#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_JPN)
#ifdef _WIN32
LANGUAGE 17, 1
#pragma code_page(932)
#endif //_WIN32
#include "res\WebMaker.rc2"         // Microsoft Visual C++ 以外のツールで編集されたリソース
#include "l.jpn\afxres.rc"          // 標準のコンポーネント
#include "l.jpn\afxprint.rc"        // 印刷/印刷プレビュー リソース
#include "VersionInfo.rc"           // バージョン情報  ◆◆◆←ここに追加◆◆◆
#endif

/////////////////////////////////////////////////////////////////////////////
#endif    // not APSTUDIO_INVOKED

これにて、外部リソースファイルからのインクルード完了。

|

« [PV3] アースソフトPV3をWindows Vista 64ビット版対応へ | トップページ | [VC6] 指定URLのファイルダウンロード »

プログラミング(VC6)」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック


この記事へのトラックバック一覧です: [VC6] リソースファイル(.rc)から外部リソースファイルのインクルード:

« [PV3] アースソフトPV3をWindows Vista 64ビット版対応へ | トップページ | [VC6] 指定URLのファイルダウンロード »