Windows是否支持可执行文件版本信息中的其他自定义字段?
问题描述:
我正在写一些代码在拉撒路我想添加额外的信息,如FPC版本,Lazarus版本,Git提交等。Windows是否支持可执行文件版本信息中的其他自定义字段?
是否可以在项目中添加像这样的字段?
https://msdn.microsoft.com/en-us/library/windows/desktop/aa381058(v=vs.85).aspx的相关信息为标准模板。
Name
Comments
CompanyName
FileDescription
FileVersion
InternalName
LegalCopyright
LegalTrademarks
OriginalFilename
PrivateBuild
ProductName
ProductVersion
SpecialBuild
还有像
#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
示例代码是否可以添加自己的附加字段正如我上面所描述的,将显示在用户单击在Windows资源管理器或获取的文件通过程序中的FileVersionInfo函数。
答
从对Custom field in file version in C++ project的回应中,可以通过在问题中的示例中向StringFileInfo
块添加更多信息。该答案指出,信息应该在Windows资源管理器的文件属性对话框中可见,但我必须验证。
请澄清你的问题。 – Dai
https://msdn.microsoft.com/en-us/library/windows/desktop/aa381058(v=vs.85).aspx –
看看[显示应用标题,版本和公司](http:// wiki .freepascal.org/Show_Application_Title,_Version,_and_Company) – Abelisto