zoukankan      html  css  js  c++  java
  • [VC]获取本地程序的版本信息信息

     1 CString CQwerApp::IS_GetAppVersion(char *AppName)
     2 {
     3 ////需要加上version.lib在link里
     4 CString   AppVersion;  
     5 //AppVersion=IS_GetAppCreateTime(AppName);  
     6    
     7 DWORD   RessourceVersionInfoSize;  
     8 DWORD   JustAJunkVariabel;  
     9 char*   VersionInfoPtr;  
    10 struct   LANGANDCODEPAGE   {  
    11       WORD   wLanguage;  
    12       WORD   wCodePage;  
    13 }   *TranslationPtr;  
    14 char*   InformationPtr;  
    15 UINT     VersionInfoSize;  
    16 char     VersionValue[255];  
    17    
    18           RessourceVersionInfoSize=GetFileVersionInfoSize(AppName,&JustAJunkVariabel);  
    19           if(0!=RessourceVersionInfoSize)  
    20           {  
    21                   VersionInfoPtr=new   char[RessourceVersionInfoSize];  
    22                           if(GetFileVersionInfo(AppName,0,RessourceVersionInfoSize,VersionInfoPtr))  
    23                           {  
    24                           if(!VerQueryValue(  
    25                                   VersionInfoPtr,  
    26                                   TEXT("VarFileInfo\Translation"),  
    27                                           (LPVOID*)&TranslationPtr,  
    28                                           &VersionInfoSize))  
    29                                           {  
    30                           delete[]   VersionInfoPtr;  
    31                                                   return   AppVersion;  
    32                                           }  
    33                           }  
    34    
    35           //   retrieve   File   Description  
    36 wsprintf(VersionValue,  
    37                           TEXT(""),  
    38                           TranslationPtr[0].wLanguage,  
    39                           TranslationPtr[0].wCodePage);  
    40    
    41       if(!VerQueryValue(  
    42                           VersionInfoPtr,  
    43                                   VersionValue,  
    44                                   (LPVOID*)&InformationPtr,  
    45                                   &VersionInfoSize))  
    46                                   {  
    47                                   delete[]   VersionInfoPtr;  
    48                                           return   AppVersion;  
    49                                   }  
    50 if(strlen(InformationPtr)>0)   //Not   Null  
    51                           {  
    52                           AppVersion=CString(InformationPtr);  
    53                           }  
    54                           delete[]   VersionInfoPtr;  
    55           }  
    56           return   AppVersion;  
    57 
    58 }
  • 相关阅读:
    Python笔记:高阶函数
    linux C生成UUID的方法
    c语言连接mysql完整演示
    linux下C语言连接mysql数据库演示(在控制台编译的)
    mysql版本问题,导致的mysql.user表下面的字段变成了authentication_string
    选择排序算法
    汉诺塔递归实现
    操作系统复习第一章
    二叉树的基本操作
    字符串的模式匹配算法
  • 原文地址:https://www.cnblogs.com/gredswsh/p/get_version_information_about_local_programs.html
Copyright © 2011-2022 走看看