简介:在version.inc通过预处理器宏单独维护中定义版本详细信息...如何将宏值包含到资源版本定义块中?
我的version.inc文件以UTF-8存储(例如纯ASCII).其完整内容如下(APS_此处的前缀与应用程序的真实名称相关,而不是.aps与资源编译器生成的文件相关):
#define APS_MAJORNUMBER 4
#define APS_MINORNUMBER 5
#define APS_BUILDNUMBER 0
#define APS_MODIFICATIONNUMBER 0
#define APS_BUILDEXT "wx"
#define APS_DATEYEAR 2012
#define APS_DATEMONTH 10
#define APS_DATEDAY 4
Run Code Online (Sandbox Code Playgroud)
app.rc与Visual Studio 2010相比,Visual Studio 2012 C++似乎对资源脚本文件()更加挑剔.我注意到的第一件事是,当手动编辑时,我必须保持UTF-16编码.你能证实吗?那有什么文件吗?
说app.rc看起来像这样的版本块:
/////////////////////////////////////////////////////////////////////////////
//
// Version
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,0,0,1
PRODUCTVERSION 1,0,0,1
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
#else
FILEFLAGS 0x0L
#endif
FILEOS 0x40004L
FILETYPE 0x1L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040504b0"
BEGIN
VALUE …Run Code Online (Sandbox Code Playgroud) 有很多Windows PE资源查看器程序.但它们如何运作?他们是否解码了对winapi的函数调用,或者PE是否有一些GUI信息部分?像Android有XML GUI定义?谢谢.
您可能知道Windows有这个选项,您可以在其中查看二进制文件的属性,它将显示有关作者,版本号,公司等的信息......我们希望将其放入我们的自动编译系统中.在编译二进制文件之后将此版本信息添加到二进制文件中是可取的,但是有关如何完成此操作的任何信息都会有所帮助.当然,这需要是程序化的; 我们不能打扰每天手动将信息输入资源黑客5000个二进制文件.
有没有人曾经这样做过?怎么可能呢?