zoukankan      html  css  js  c++  java
  • VC++ 获取exe或者dll版本信息

    #include <iostream>
    #include <atlstr.h>
    #pragma comment(lib,"version.lib")
    
    CString GetFileVersion(CString strExePath)
    {
        DWORD   dwVerInfoSize = 0;
        DWORD dwVerHnd = 0;
        char   *pBuf;
        CString   asVer;
        VS_FIXEDFILEINFO   *pVsInfo;
        unsigned   int   iFileInfoSize = sizeof(VS_FIXEDFILEINFO);
        dwVerInfoSize = GetFileVersionInfoSize(strExePath, NULL);//将版本信息资源读入缓冲区
    
        if (dwVerInfoSize)
        {
            pBuf = new char[dwVerInfoSize];
            if (GetFileVersionInfo(strExePath, dwVerHnd, dwVerInfoSize, pBuf))//获得生成文件使用的代码页及文件版本
            {
                struct LANGANDCODEPAGE
                {
                    WORD    wLanguage;
                    WORD    wCodePage;
                }*lpTranslate;
    
                if (VerQueryValue(pBuf, _T("\VarFileInfo\Translation"), (void**)&lpTranslate, &iFileInfoSize))
                {
                    unsigned int version_len = 0;
                    if (VerQueryValue(pBuf, _T("\"), (void**)&pVsInfo, &version_len))
                    {
                        asVer.Format(_T("%d.%d.%d.%d"), HIWORD(pVsInfo->dwFileVersionMS),
                            LOWORD(pVsInfo->dwFileVersionMS),
                            HIWORD(pVsInfo->dwFileVersionLS),
                            LOWORD(pVsInfo->dwFileVersionLS));
                    }
                }
            }
            delete   pBuf;
        }
        return   asVer;
    }
    
    int main()
    {
        //获取工作路径
        TCHAR    szModulePath[MAX_PATH * 2];
        ::GetModuleFileName(NULL, szModulePath, _countof(szModulePath) - 2);
        PathRemoveFileSpec(szModulePath);
        CString strExe = szModulePath;
    
        strExe += L"\My.dll";
    
        CString strver = GetFileVersion(strExe);
    
        return 0;
    }
  • 相关阅读:
    Tensorflow-K近邻算法
    RDD编程初级实践
    Spark_RDD
    《软件需求》阅读笔记三
    Spark简单使用案例-WordCount
    tensorflow线性回归
    Scala+idea环境配置和简单使用
    《软件需求》阅读笔记二
    Typora+PicGo+Gitee打造博客图床
    sklearn转换器和估计器&k-近邻
  • 原文地址:https://www.cnblogs.com/chechen/p/10077449.html
Copyright © 2011-2022 走看看