1 需求背景

本次项目计划成为一个较为正式版本的程序,参考大公司的程序信息如下图所示,这么对比下来,一下显示我们的软件是小制作方生产数来的了,所以决定研究一下,给我们的程序也加上详细信息。。

Qt 程序添加详细信息_Release

2 解决方法

按照前辈慢的分享,开干就可以

新建一个文件DataSeerverInfo.rc,填充内容如下

#if defined(UNDER_CE)
#include <winbase.h>
#else
#include <winver.h>
#endif
VS_VERSION_INFO VERSIONINFO
    FILEVERSION 1,0,0,0
    PRODUCTVERSION 1,0,0,0
    FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
    FILEFLAGS VS_FF_DEBUG
#else
    FILEFLAGS 0x0L
#endif
    FILEOS VOS__WINDOWS32
    FILETYPE VFT_DLL
    FILESUBTYPE 0x0L
    BEGIN
        BLOCK "StringFileInfo"
        BEGIN
            BLOCK "080404b0"
            BEGIN
                VALUE "CompanyName", "BeiJing NewJJ Co., Ltd."
                VALUE "FileDescription", "数据服务器\0"
                VALUE "FileVersion", "1.0.0.0"
                VALUE "InternalName", "DataServer.exe"
                VALUE "LegalCopyright", "Copyright (C)2021-2023"
                VALUE "OriginalFilename", "DataServer.exe"
                VALUE "ProductName", "DataServer"
                VALUE "ProductVersion", "1.0.0.0"
            END
        END
        BLOCK "VarFileInfo"
        BEGIN
            VALUE "Translation", 0x804, 1200
        END
    END

在pro文件中加入RC_FILE += DataSeerverInfo.rc ,如下图所示

Qt 程序添加详细信息_Qt程序_02

2.1 注意事项一

在新版本的Qt中,如果仅仅是给程序添加图标,仅需要在pro文件加入代码RC_ICONS = ./Images/logo.ico,如果这时我们引入了我们的文件后会使这个失效,需要把在这个实现也放到我们的文件中,如下:
Qt 程序添加详细信息_Qt程序_03

完整代码如下:

#if defined(UNDER_CE)
#include <winbase.h>
#else
#include <winver.h>
#endif
IDI_ICON1               ICON    DISCARDABLE     "./Images/logo.ico"
VS_VERSION_INFO VERSIONINFO
    FILEVERSION 1,0,0,0
    PRODUCTVERSION 1,0,0,0
    FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
    FILEFLAGS VS_FF_DEBUG
#else
    FILEFLAGS 0x0L
#endif
    FILEOS VOS__WINDOWS32
    FILETYPE VFT_DLL
    FILESUBTYPE 0x0L
    BEGIN
        BLOCK "StringFileInfo"
        BEGIN
            BLOCK "080404b0"
            BEGIN
                VALUE "CompanyName", "BeiJing NewJJ Co., Ltd."
                VALUE "FileDescription", "数据服务器\0"
                VALUE "FileVersion", "1.0.0.0"
                VALUE "InternalName", "DataServer.exe"
                VALUE "LegalCopyright", "Copyright (C)2021-2023"
                VALUE "OriginalFilename", "DataServer.exe"
                VALUE "ProductName", "DataServer"
                VALUE "ProductVersion", "1.0.0.0"
            END
        END
        BLOCK "VarFileInfo"
        BEGIN
            VALUE "Translation", 0x804, 1200
        END
    END

2.2 注意事项二

如果我们正在文件中有中文,例如我的文件描述为“数据服务器”,那么需要更改我们的编码格式为ANSI即可,默认可能是UTF-8

Qt 程序添加详细信息_Release_04

3 效果

效果那肯定是杠杠的,如下

Qt 程序添加详细信息_Qt程序_05