【问题标题】:How to get the version information of a DLL file in C++如何在 C++ 中获取 DLL 文件的版本信息
【发布时间】:2009-01-07 12:45:20
【问题描述】:

我需要获取我在 Visual Studio 2008 C++ 中创建的 DLL 文件的版本信息。如何获得?

【问题讨论】:

    标签: c++ windows dll version


    【解决方案1】:

    感谢您的回答。

    这对我有用:

    WCHAR fileName[_MAX_PATH];
    DWORD size = GetModuleFileName(g_dllHandle, fileName, _MAX_PATH);
    fileName[size] = NULL;
    DWORD handle = 0;
    size = GetFileVersionInfoSize(fileName, &handle);
    BYTE* versionInfo = new BYTE[size];
    if (!GetFileVersionInfo(fileName, handle, size, versionInfo))
    {
        delete[] versionInfo;
        return;
    }
    // we have version information
    UINT                len = 0;
    VS_FIXEDFILEINFO*   vsfi = NULL;
    VerQueryValue(versionInfo, L"\\", (void**)&vsfi, &len);
    aVersion[0] = HIWORD(vsfi->dwFileVersionMS);
    aVersion[1] = LOWORD(vsfi->dwFileVersionMS);
    aVersion[2] = HIWORD(vsfi->dwFileVersionLS);
    aVersion[3] = LOWORD(vsfi->dwFileVersionLS);
    delete[] versionInfo;
    

    【讨论】:

    • 知道如何在 Mac 上执行此操作吗??
    【解决方案2】:

    如果您想要以编程方式访问,请参阅 MSDN 中的 Version Information 了解您需要的 API 和数据结构。

    【讨论】:

      【解决方案3】:

      看起来您需要访问 VS_VERSION_INFO 资源; http://www.microsoft.com/msj/0498/c0498.aspx

      【讨论】:

      • 你的措辞就像 ms 回形针 :) +1
      【解决方案4】:

      当您在 Windows 资源管理器中打开它时,它应该在属性(版本选项卡)中

      【讨论】:

        猜你喜欢
        • 2010-09-20
        • 2015-12-04
        • 2011-04-18
        • 1970-01-01
        • 1970-01-01
        • 2015-07-01
        • 1970-01-01
        • 2020-06-05
        • 1970-01-01
        相关资源
        最近更新 更多