zoukankan      html  css  js  c++  java
  • vc mfc代码中获得程序资源中版本信息的方法

    http://www.7es.cn/Software_development/124.shtml

    vc mfc代码中获得程序资源中版本信息的方法

    vc资源编辑可以对应用程序的版本信息进行设定,编译好的执行文件可以在文件属性中看到文件版本、程序版本等版本信息。

    一般用户是不太主意文件属性终端的版本信息的,那么如果能让版本信息显示到界面上就直观多了,并且可以统一管理版本信息而不用每次编辑界面。

    折腾了一番,写了如下函数,可以获取并返回资源文件中设定的版本号字符串。

    CString GetAppVersion()  
    {  
      // 获取应用程序路径
     TCHAR szAppPath[MAX_PATH] = {0};  
     ::GetModuleFileName(NULL, szAppPath, MAX_PATH);  

     // 获取版本信息
     VS_FIXEDFILEINFO *VInfo;  
     UINT i;  
     char *buf;  
     int ma,mj,r,b;  
     CString sReturn = "";  
     i = GetFileVersionInfoSize(szAppPath, 0);  
     buf=   new   char[i];  

     if (GetFileVersionInfo(szAppPath, 0, i, buf) != 0)  
     {
      if (VerQueryValue(buf,_T("\\"),(LPVOID*)&VInfo,&i))  
      {  
       ma = VInfo->dwFileVersionMS >> 16;  
       mj = VInfo->dwFileVersionMS & 0x00ff;  
       r = VInfo->dwFileVersionLS >> 16;  
       b = VInfo->dwFileVersionLS & 0x00ff;  
       sReturn.Format(_T("%d.%d.%d.%d"), ma,mj,r,b);   
      }  
     }   
     delete []buf;   
     return sReturn;
    }

    当然,通过类似方法还可以获得更丰富的版本信息,有用到的朋友可以参考自己写下

  • 相关阅读:
    struct/enum/union加typedef与不加typedef
    拷贝构造函数、拷贝运算符、析构函数
    TextQuery程序
    动态内存-动态数组
    动态内存
    动态内存
    matlab文件处理
    [leetcode]_Best Time to Buy and Sell Stock I && II
    [leetcode]_Valid Palindrome
    [leetcode]_Pascal's Triangle II
  • 原文地址:https://www.cnblogs.com/carl2380/p/1919453.html
Copyright © 2011-2022 走看看