MFC中获取程序自身的版本信息
来源:互联网 发布:java模拟浏览器 编辑:程序博客网 时间:2024/06/05 17:52
收集整理自CSDN论坛。
首先、在Stdafx.h中引入链接库:
#pragma comment(lib,"Version.lib")
在对应的处理方法中如下:
char FileVerInfo[4096];
DWORD dwVerLen = 0;CString strPath;//路径
GetModuleFileName(NULL,strPath.GetBufferSetLength(MAX_PATH + 1), MAX_PATH);
strPath.ReleaseBuffer();
int n_Len = GetFileVersionInfoSize(strPath, &dwVerLen);
if (0 != n_Len)
{
BOOL m_bFile = GetFileVersionInfo(strPath,NULL,n_Len,FileVerInfo);
UINT cbTranslate;
char SubBlock[4096];
UINT dwBytes;
struct LANGANDCODEPAGE {
WORD wLanguage;
WORD wCodePage;
} *lpTranslate;
struct version {
char * strProductName;
char * strProductVersion;
char * strLegalCopyright;
char * strCompanyName;
char * strSpecialBuild;
} ver;
VerQueryValue(FileVerInfo,
TEXT("\\VarFileInfo\\Translation"),
(LPVOID*)&lpTranslate,
&cbTranslate);
for( UINT i=0; i < (cbTranslate/sizeof(struct LANGANDCODEPAGE)); i++ )
{
wsprintf( SubBlock,
TEXT("\\StringFileInfo\\%04x%04x\\ProductName"),
lpTranslate[i].wLanguage,
lpTranslate[i].wCodePage);
VerQueryValue(FileVerInfo,
SubBlock,
(void **)&ver.strProductName,
&dwBytes);
wsprintf( SubBlock,
TEXT("\\StringFileInfo\\%04x%04x\\ProductVersion"),
lpTranslate[i].wLanguage,
lpTranslate[i].wCodePage);
// Retrieve file description for language and code page "i".
VerQueryValue(FileVerInfo,
SubBlock,
(void **)&ver.strProductVersion,
&dwBytes);
wsprintf( SubBlock,
TEXT("\\StringFileInfo\\%04x%04x\\LegalCopyright"),
lpTranslate[i].wLanguage,
lpTranslate[i].wCodePage);
// Retrieve file description for language and code page "i".
VerQueryValue(FileVerInfo,
SubBlock,
(void **)&ver.strLegalCopyright,
&dwBytes);
wsprintf( SubBlock,
TEXT("\\StringFileInfo\\%04x%04x\\CompanyName"),
lpTranslate[i].wLanguage,
lpTranslate[i].wCodePage);
// Retrieve file description for language and code page "i".
VerQueryValue(FileVerInfo,
SubBlock,
(void **)&ver.strCompanyName,
&dwBytes);
wsprintf( SubBlock,
TEXT("\\StringFileInfo\\%04x%04x\\SpecialBuild"),
lpTranslate[i].wLanguage,
lpTranslate[i].wCodePage);
// Retrieve file description for language and code page "i".
VerQueryValue(FileVerInfo,
SubBlock,
(void **)&ver.strSpecialBuild,
&dwBytes);
((CStatic *)GetDlgItem(IDC_STATIC_ABOUT_COPYRIGHT))->SetWindowText(ver.strLegalCopyright);
CString strTemp;
CString strVersion;
strTemp = ver.strProductName;
strVersion += strTemp;
strTemp = ver.strProductVersion;
strVersion += " " + strTemp + "版本。";
((CStatic *)GetDlgItem(IDC_STATIC_ABOUT_VERSION))->SetWindowText(strVersion);
break;
}
}
0 0
- MFC中获取程序自身的版本信息
- Android中获取手机自身的信息
- vc mfc代码中获得程序资源中版本信息的方法
- mfc获取自身版本号
- mfc获取自身版本号
- 复制自身程序到windows目录和系统目录,获取系统的相关信息
- android中获取项目的版本信息
- android中获取项目的版本信息
- android 中获取应用的版本信息
- 获取程序集版本信息
- 获取程序当前版本信息
- Android 获取程序版本信息
- VS2010获取程序自身的版本号
- MFC中获取程序运行的路径
- MFC获取版本指定信息方法
- VC中获取软件自身的版本号
- DLL中如何获取自身的句柄
- DLL中如何获取自身的路径
- u-boot中各种命令的组织架构
- Android适配理解
- Android(Lollipop/5.0) Material Design(七) 保持兼容性
- Shell脚本编程的常识
- Zabbix配置详解
- MFC中获取程序自身的版本信息
- C++静态成员详解
- 06登录界面逻辑
- Android常用的颜色列表,color.xml
- ubuntu git 服务器搭建(未完待续)
- Code Fragment-Message Pool的实现与处理
- ios 相机 相册 UIImagePickerController详解
- c语言结构体指针初始化
- h264检测是I帧还是P帧