鸩止 2022-08-25 17:23 采纳率: 57.1%
浏览 23

C++如何通过代码自定义输出的exe(可执行文件)名称

C++如何通过代码自定义输出的exe(可执行文件)名称,不是使用链接器修改

  • 写回答

2条回答 默认 最新

  • m0_62647112 2022-08-25 17:31
    关注

    #include <io.h>
    #include

    std::string GetPEResource(const char* exepath, const char* type,
    const char* name, int language = 0)
    {
    std::string r = "";

    if (!exepath)
        return r;
    
    //判定文件是否存在
    if (_access(exepath, 0) != 0)
        return r;
    
    //加载可执行文件
    HMODULE hexe = LoadLibrary(exepath);
    if (!hexe)
        return r;
    
    //查找资源
    HRSRC src = FindResourceEx(hexe, type, name, language);
    if (src)
    {
        HGLOBAL glb = LoadResource(hexe, src);
        int sz = SizeofResource(hexe, src);
        r = std::string((char *)LockResource(glb), sz);
        UnlockResource(glb);
        FreeResource(glb);
    }
    
    //释放可执行文件
    FreeLibrary(hexe);
    
    return r; //返回一个完整的、标准的版本信息数据
    

    }

    评论

报告相同问题?

问题事件

  • 修改了问题 8月26日
  • 创建了问题 8月25日