共用方式為


VERSIONINFO 資源

定義版本資訊資源。 資源包含檔案的相關資訊,例如其版本號碼、其預定的作業系統及其原始檔案名。 資源旨在與 版本資訊 函式搭配使用。

有兩種方式可以格式化 VERSIONINFO 語句:

versionID VERSIONINFO fixed-info  { block-statement . . . }

- 或 -

versionID VERSIONINFO 
fixed-info
BEGIN
block-statement
. . .
END

參數

versionID

版本資訊資源識別碼。 此值必須是 1。

fixed-info

版本資訊,例如檔案版本和預定的作業系統。 此參數包含下列語句。

陳述式 Description
FILEVERSION版本 檔案的二進位版本號碼。 版本包含兩個 32 位整數,由四個 16 位整數所定義。 例如,「FILEVERSION 3,10,0,61」 會轉譯成兩個雙字:以該順序0x0003000a和0x0000003d。 因此,如果版本是由DWORDdw1 和 dw2所定義,則必須出現在FILEVERSION語句中,如下所示: HIWORD(dw1) 、、 LOWORD(dw1) 、。 HIWORD(dw2)LOWORD(dw2)
PRODUCTVERSION版本 散發檔案之產品的二進位版本號碼。 version參數是兩個 32 位整數,由四個 16 位整數定義。 如需 版本的詳細資訊,請參閱 FILEVERSION 描述。
FILEFLAGSMASK檔案旗標遮罩 指出 FILEFLAGS 語句中的哪些位有效。 針對 16 位 Windows,此值0x3f。
FILEFLAGS檔案旗標 檔案的屬性。
FILEOS fileos 此檔案設計所在的作業系統。 fileos參數可以是一節中提供的其中一個作業系統值。
FILETYPE檔案類型 檔案的一般類型。 filetype參數可以是一節中列出的其中一個檔案類型值。
FILESUBTYPE子類型 檔案的函式。 除非FILETYPE語句中的filetype參數是VFT_DRV、VFT_FONT或VFT_VXD,否則子類型參數為零。 如需檔案子類型值的清單,請參閱一節。

 

block-statement

指定一或多個版本資訊區塊。 區塊可以包含字串資訊或變數資訊。 如需詳細資訊,請參閱 StringFileInfo 區塊VarFileInfo 區塊

備註

若要搭配 VERSIONINFO 語句使用指定的常數,您必須在資源定義檔中包含 Winver.h 或 Windows.h 標頭檔。

下列清單描述 VERSIONINFO 語句中使用的參數:

fileflags

下列值的組合。

Description
VS_FF_DEBUG 檔案包含偵錯資訊,或使用啟用偵錯功能進行編譯。
VS_FF_PATCHED 檔案已經過修改,且與相同版本號碼的原始運送檔案不同。
VS_FF_PRERELEASE 檔案是開發版本,而不是商業發行的產品。
VS_FF_PRI加值稅EBUILD 檔案未使用標準發行程式來建置。 如果指定這個值, StringFileInfo 區塊 必須包含 PrivateBuild 字串。
VS_FF_SPECIALBUILD 檔案是由原始公司使用標準發行程式所建置,但是相同版本號碼的標準檔案變化。 如果指定這個值, StringFileInfo 區塊區塊 必須包含 SpecialBuild 字串。
VS_FFI_FILEFLAGSMASK 上述所有值的組合。

 

fileos

下列其中一個值。

Description
VOS_UNKNOWN 設計檔案的作業系統未知。
VOS_DOS 檔案是針對 MS-DOS 所設計。
VOS_NT 檔案是針對 32 位 Windows 所設計。
VOS__WINDOWS16 檔案是針對 16 位 Windows 所設計。
VOS__WINDOWS32 檔案是針對 32 位 Windows 所設計。
VOS_DOS_WINDOWS16 檔案是針對使用 MS-DOS 執行的 16 位 Windows 所設計。
VOS_DOS_WINDOWS32 檔案是針對使用 MS-DOS 執行的 32 位 Windows 所設計。
VOS_NT_WINDOWS32 檔案是針對 32 位 Windows 所設計。

 

保留 0x00002L、0x00003L、0x20000L 和 0x30000L 的值。

filetype

下列其中一個值。

Description
VFT_UNKNOWN 檔案類型未知。
VFT_APP 檔案包含應用程式。
VFT_DLL 檔案包含動態連結程式庫 (DLL) 。
VFT_DRV 檔案包含設備磁碟機。 如果 filetype是VFT_DRV子類型 會包含驅動程式更具體的描述。
VFT_FONT 檔案包含字型。 如果 filetype 是VFT_FONT, 子類型 會包含更明確的字型描述。
VFT_VXD 檔案包含虛擬裝置。
VFT_STATIC_LIB 檔案包含靜態程式庫。

 

所有其他值都會保留供 Microsoft 使用。

檔案類型的其他資訊。

如果 filetype 指定 VFT_DRV,此參數可以是下列其中一個值。

Description
VFT2_UNKNOWN 驅動程式類型未知。
VFT2_DRV_COMM 檔案包含通訊驅動程式。
VFT2_DRV_PRINTER 檔案包含印表機驅動程式。
VFT2_DRV_KEYBOARD 檔案包含鍵盤驅動程式。
VFT2_DRV_LANGUAGE 檔案包含語言驅動程式。
VFT2_DRV_DISPLAY 檔案包含顯示驅動程式。
VFT2_DRV_MOUSE 檔案包含滑鼠驅動程式。
VFT2_DRV_NETWORK 檔案包含網路驅動程式。
VFT2_DRV_SYSTEM 檔案包含系統驅動程式。
VFT2_DRV_INSTALLABLE 檔案包含可安裝的驅動程式。
VFT2_DRV_SOUND 檔案包含音效驅動程式。
VFT2_DRV_VERSIONED_PRINTER 檔案包含已設定版本的印表機驅動程式。

 

如果 filetype 指定 VFT_FONT,此參數可以是下列其中一個值。

Description
VFT2_UNKNOWN 字型類型未知。
VFT2_FONT_RASTER 檔案包含點陣字型。
VFT2_FONT_VECTOR 檔案包含向量字型。
VFT2_FONT_TRUETYPE 檔案包含 TrueType 字型。

 

如果 filetype 指定VFT_VXD,此參數必須是虛擬裝置控制區塊中包含的虛擬裝置識別碼。

此處未列出的所有 子類型 值都會保留供 Microsoft 使用。

langID

下列其中一個語言代碼。

程式碼 語言 程式碼 語言
0x0401 阿拉伯文 0x0415 波蘭文
0x0402 保加利亞文 0x0416 葡萄牙文 (巴西)
0x0403 卡達隆尼亞文 0x0417 Rhaeto-Romanic
0x0404 繁體中文 0x0418 羅馬尼亞文
0x0405 捷克文 0x0419 俄文
0x0406 丹麥文 0x041A Croato-Serbian (拉丁文)
0x0407 德文 0x041B 斯洛伐克文
0x0408 希臘文 0x041C 阿爾巴尼亞文
0x0409 美式英文 0x041D 瑞典文
0x040A Castilian 西班牙文 0x041E 泰文
0x040B 芬蘭文 0x041F 土耳其文
0x040C 法文 0x0420 烏都文
0x040D Hebrew 0x0421 Bahasa
0x040E 匈牙利文 0x0804 簡體中文
0x040F 冰島文 0x0807 瑞士德文
0x0410 義大利文 0x0809 英國英文
0x0411 日文 0x080A 西班牙文 (墨西哥)
0x0412 韓文 0x080C 比利時法文
0x0413 荷蘭文 0x0C0C 法文 (加拿大)
0x0414 挪威語? Bokmal 0x100C 瑞士法文
0x0810 瑞士義大利文 0x0816 葡萄牙文 (葡萄牙)
0x0813 荷蘭文 0x081A Serbo-Croatian (斯拉夫)
0x0814 挪威語? Nynorsk

 

charsetID

下列其中一個字元集識別碼。

Decimal 十六進位 字元集
0 0000 7 位 ASCII
932 03A4 日本 (Shift ?JIS X-0208)
949 03B5 南韓 (班?KSC 5601)
950 03B6 臺灣 (Big5)
1200 04B0 Unicode
1250 04E2 拉丁-2 (西歐)
1251 04E3 古斯拉夫文
1252 04E4 多 語種
1253 04E5 希臘文
1254 04E6 土耳其文
1255 04E7 Hebrew
1256 04E8 阿拉伯文

 

string-name

下列其中一個預先定義的名稱。

名稱 描述
註解 應針對診斷目的顯示的其他資訊。
CompanyName 產生檔案的公司,例如或 Microsoft CorporationStandard Microsystems Corporation, Inc. 此字串是必要的。
FileDescription 要向使用者呈現的檔案描述。 當使用者選擇要安裝的檔案時,此字串可能會顯示在清單方塊中,例如 Keyboard Driver for AT-Style Keyboards 。 此字串是必要的。
FileVersion 檔案的版本號碼,例如 3.105.00.RC2 。 此字串是必要的。
InternalName 如果檔案存在,則為檔案的內部名稱,例如,如果檔案是動態連結程式庫,則為模組名稱。 如果檔案沒有內部名稱,則此字串應該是原始檔案名,不含副檔名。 此字串是必要的。
LegalCopyright 適用于檔案的著作權聲明。 這應該包含所有通知、法律符號、著作權日期等的全文檢索。 此字串是選擇性的。
LegalTrademarks 適用于檔案的商標和注冊商標。 這應包括所有注意事項全文、法律符號、商標登錄編號等等。 此字串是選擇性的。
OriginalFilename 檔案的原始名稱,不包含路徑。 這項資訊可讓應用程式判斷檔案是否已由使用者重新命名。 名稱的格式取決於建立檔案的檔案系統。 此字串是必要的。
PrivateBuild 檔案私人版本的相關資訊,例如 Built by TESTER1 on \\TESTBED 。 只有在根區塊的fileflags參數中指定VS_FF_PRI加值稅EBUILD時,才應該顯示此字串。
ProductName 用來散發檔案的產品名稱。 此字串是必要的。
ProductVersion 散發檔案的產品版本,例如 3.105.00.RC2 。 此字串是必要的。
SpecialBuild 指定此檔案版本與標準版本有何不同之文字,例如 。 Private build for TESTER1 solving mouse problems on M250 and M250E computers 只有在根區塊的fileflags參數中指定VS_FF_SPECIALBUILD時,才應該存在這個字串。

 

回溯相容性也支援特定屬性。 如需詳細資訊,請參閱 一般資源屬性

範例

下列範例會定義 VERSIONINFO 資源:

#define VER_FILEVERSION             3,10,349,0
#define VER_FILEVERSION_STR         "3.10.349.0\0"

#define VER_PRODUCTVERSION          3,10,0,0
#define VER_PRODUCTVERSION_STR      "3.10\0"

#ifndef DEBUG
#define VER_DEBUG                   0
#else
#define VER_DEBUG                   VS_FF_DEBUG
#endif

VS_VERSION_INFO VERSIONINFO
FILEVERSION     VER_FILEVERSION
PRODUCTVERSION  VER_PRODUCTVERSION
FILEFLAGSMASK   VS_FFI_FILEFLAGSMASK
FILEFLAGS       (VER_PRIVATEBUILD|VER_PRERELEASE|VER_DEBUG)
FILEOS          VOS__WINDOWS32
FILETYPE        VFT_DLL
FILESUBTYPE     VFT2_UNKNOWN
BEGIN
    BLOCK "StringFileInfo"
    BEGIN
        BLOCK "040904E4"
        BEGIN
            VALUE "CompanyName",      VER_COMPANYNAME_STR
            VALUE "FileDescription",  VER_FILEDESCRIPTION_STR
            VALUE "FileVersion",      VER_FILEVERSION_STR
            VALUE "InternalName",     VER_INTERNALNAME_STR
            VALUE "LegalCopyright",   VER_LEGALCOPYRIGHT_STR
            VALUE "LegalTrademarks1", VER_LEGALTRADEMARKS1_STR
            VALUE "LegalTrademarks2", VER_LEGALTRADEMARKS2_STR
            VALUE "OriginalFilename", VER_ORIGINALFILENAME_STR
            VALUE "ProductName",      VER_PRODUCTNAME_STR
            VALUE "ProductVersion",   VER_PRODUCTVERSION_STR
        END
    END

    BLOCK "VarFileInfo"
    BEGIN
        /* The following line should only be modified for localized versions.     */
        /* It consists of any number of WORD,WORD pairs, with each pair           */
        /* describing a language,codepage combination supported by the file.      */
        /*                                                                        */
        /* For example, a file might have values "0x409,1252" indicating that it  */
        /* supports English language (0x409) in the Windows ANSI codepage (1252). */

        VALUE "Translation", 0x409, 1252

    END
END

另請參閱

使用版本資訊

版本資訊