• 博客园logo
  • 会员
  • 周边
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

Gredswsh的技术生活

Java,Python,Go,SCI_NUM
  • 联系
  • 订阅
  • 管理

公告

View Post

[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 }

 

转载请注明文章出处:http://www.cnblogs.com/gredswsh   Gredswsh  专栏

posted on 2014-05-19 20:48  fxcl  阅读(518)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3