如何写入和获取软件的版本信息(VS环境下)
2014-04-10 11:30
435 查看
*******************************
*如何写入和获取软件版本信息(VS环境下)*
*******************************
如何写入软件版本信息:
很简单,创建一个基于MFC的dll工程就会自动生成一个resource.rc文件,把里面版本信息相关的东西复制过来稍加修改即可。
Tips:
1.注意文件版本和产品版本有两个指定的地方,务必保持一致,而且一定一定要注意前面的用逗号隔开,后面的用点号隔开(一个逗号引发的血案..)
2.相关的宏定义在文件VerRsrc.h中
如何获取文件版本信息:
测试结果:
*如何写入和获取软件版本信息(VS环境下)*
*******************************
如何写入软件版本信息:
很简单,创建一个基于MFC的dll工程就会自动生成一个resource.rc文件,把里面版本信息相关的东西复制过来稍加修改即可。
///////////////////////////////////////////////////////////////////////////// // // 版本 // VS_VERSION_INFO VERSIONINFO FILEVERSION 2014,0,0,2053 PRODUCTVERSION 2,0,0,1 FILEFLAGSMASK VS_FFI_FILEFLAGSMASK #ifdef _DEBUG FILEFLAGS VS_FF_DEBUG #else FILEFLAGS 0x0L #endif FILEOS VOS_NT_WINDOWS32 FILETYPE VFT_APP//VFT_UNKNOWN//VFT_DLL : dll type FILESUBTYPE VFT2_UNKNOWN BEGIN BLOCK "StringFileInfo" BEGIN BLOCK "080404B0" BEGIN VALUE "CompanyName", "Wesky Soft" VALUE "FileDescription", "DLL Fix Utility" VALUE "FileVersion", "2014.0.0.2053" VALUE "InternalName", "DllSuite" VALUE "LegalCopyright", "(C) <Wesky Soft>。保留所有权利。" VALUE "OriginalFilename","DllSuite.exe" VALUE "ProductName", "DLLSuite" VALUE "ProductVersion", "2.0.0.1" END END BLOCK "VarFileInfo" BEGIN VALUE "Translation", 0x0804, 1200 END END
Tips:
1.注意文件版本和产品版本有两个指定的地方,务必保持一致,而且一定一定要注意前面的用逗号隔开,后面的用点号隔开(一个逗号引发的血案..)
2.相关的宏定义在文件VerRsrc.h中
如何获取文件版本信息:
void _LoadFileVersion() { DWORD dwHandle = 0; char* pInfoData = NULL ; WCHAR szSelfName[MAX_PATH+1] = {0}; if(::GetModuleFileName(NULL, szSelfName, MAX_PATH+1)) { DWORD dwInfoSize = GetFileVersionInfoSize(szSelfName, &dwHandle); if(dwInfoSize > 0) { pInfoData = new char[dwInfoSize]; memset(pInfoData, 0, dwInfoSize); if(GetFileVersionInfo(szSelfName, dwHandle, dwInfoSize, pInfoData)) { VS_FIXEDFILEINFO* vs_file_info = NULL; unsigned int size = 0; if(VerQueryValue(pInfoData, L"\\", (LPVOID*)&vs_file_info, &size)) { m_cFileVer.Empty(); m_cFileVer.Format(L"%d.%d.%d.%d", HIWORD(vs_file_info->dwFileVersionMS), LOWORD(vs_file_info->dwFileVersionMS), HIWORD(vs_file_info->dwFileVersionLS), LOWORD(vs_file_info->dwFileVersionLS)); SetItemText(IDC_FILEVER, m_cFileVer.GetString()); } } if(pInfoData) { delete[] pInfoData; pInfoData = NULL; } } } }
测试结果:
相关文章推荐
- VS获取工程版本信息,AxtiveX或者OCX的版本取得
- vc 获取软件的版本信息
- 如何在vs (visual studio)调试环境下查看lua的调用栈、变量信息
- 在ASP.NET Core应用中如何设置和获取与执行环境相关的信息?
- 纯JAVA环境获取APK信息(包名,版本,版本号,大小,权限...),纯JAVA语言编写PC端获取APK信息
- Maximo 获取当前运行的Maximo环境的版本信息
- 如何获取某个动态链接库的版本信息
- .net中如何获取机器硬件信息(防软件复制版)
- spring利用扫描方式对bean的处理(对任何版本如何获取xml配置信息的处理)
- 如何在silverlight application中获取silverlight 版本信息,os信息和browser信息
- 【Android进阶】获取Android软件的版本信息
- 如何获取当前操作系统的软件版本[初学者的浮躁的话]
- C#:如何获取当前操作系统的软件版本
- Maximo 获取当前运行的Maximo环境的版本信息
- vc 得到软件的版本信息 资源文件中的../Version/VS_VERSION_INFO/FILEVERSION的值
- 在ASP.NET Core应用中如何设置和获取与执行环境相关的信息?
- 如何获取mysql的版本信息
- 如何获取iphone的硬件版本以及系统信息
- 如何修改ROM软件版本信息
- 京东价格监控软件开发技术探讨七:如何获取京东商品评价信息