最近参考一篇文章:Qt编译的dll、exe添加属性信息
原文排版比较乱,整理了一下,以后编译自己的exe就可以直接拿来用了:
#include <winver.h>
#define NAME "QR Desktop"
#define VERSION 0, 1, 6, 0
#define STR(x) #x
#define VER_JOIN(a, b, c, d) STR(a.b.c.d)
#define VER_JOIN_(x) VER_JOIN x
#define VER_STR VER_JOIN_((VERSION))
VS_VERSION_INFO VERSIONINFO
FILEVERSION VERSION
PRODUCTVERSION VERSION
FILEFLAGSMASK 0x3fL
FILEOS VOS__WINDOWS32
FILETYPE VFT_APP
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "000004b0"
BEGIN
VALUE "CompanyName", "Lishixian"
VALUE "FileDescription", NAME
VALUE "FileVersion", VER_STR
VALUE "InternalName", "qr_desktop.exe"
VALUE "LegalCopyright", "Copyright (C) 2022 Lishixian"
VALUE "OriginalFilename", "qr_desktop.exe"
VALUE "ProductName", NAME
VALUE "ProductVersion", VER_STR
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0, 1200
END
END
不过注意到原文其中的2行:
BLOCK "080404b0"
...
VALUE "Translation", 0x804, 1200
在另一篇帖子中这里的内容是:
BLOCK "000004b0"
...
VALUE "Translation", 0x0, 1200
注意到16进制的0x4b0
等于1200,所以猜想这两段数据是前后呼应的,需要根据需要一同修改。
其中0x804
对应的是语言栏的中文简体,0x0
对应的是语言中性。
生成参考例子: