在Windows Mobile和Wince(Windows Embedded CE)下进行Native C++开发,如何取出资源文件中的版本信息
在Windows Mobile和Wince(Windows Embedded CE)下开发的产品,有时候需要显示当前产品的版本信息。一般来说,版本信息是保存在资源文件里面的,例如下图:
为了保持一致,所有版本信息应该都从资源文件读取,不应该另外硬编码(Hard code)。
下面讲述读取资源文件版本信息的方法:
1.在资源文件中新建一个版本信息项
2.根据需求修改版本信息
3.增加取版本信息函数
CString CConfigDialog::GetVersionInfo(HMODULE hLib)
{
CString version;
TCHAR appFilePath[MAX_PATH];
memset(appFilePath, 0, sizeof(char) * MAX_PATH);
if (GetModuleFileName(hLib, appFilePath, MAX_PATH))
{
DWORD hand = 0;
DWORD verLen = GetFileVersionInfoSize(appFilePath,&hand);
if (0 < verLen)
{
TCHAR *verData = (TCHAR *)malloc(verLen);
if (verData)
{
if (GetFileVersionInfoW(appFilePath,hand,verLen,verData))
{
VS_FIXEDFILEINFO *verInfo;
unsigned bufLen;
if (VerQueryValueW(verData,_T("\\"),(LPVOID *)&verInfo,(PUINT)&bufLen))
{
TCHAR numbTxt[8];
memset(numbTxt,0,8);
// major
_itow(HIWORD(verInfo->dwFileVersionMS),numbTxt,10);
version = numbTxt;
version += _T(".");
// minor
_itow(LOWORD(verInfo->dwFileVersionMS),numbTxt,10);
version += numbTxt;
version += _T(".");
// build
_itow(HIWORD(verInfo->dwFileVersionLS),numbTxt,10);
version += numbTxt;
version += _T(".");
// revision
_itow(LOWORD(verInfo->dwFileVersionLS),numbTxt,10);
version += numbTxt;
}
}
free(verData);
}
}
}
return version;
}
4.取出版本信息
HINSTANCE hInst = (HINSTANCE)hModule;
GetVersionInfo(hInst);
完成了,效果如下图:
最近一直做WTL的开发,写了不少这方面的总结,请看我的blog。
作者:Jake Lin(Jake's Blog on 博客园)
出处:http://procoder.cnblogs.com
本作品由Jake Lin创作,采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。 任何转载必须保留完整文章,在显要地方显示署名以及原文链接。如您有任何疑问或者授权方面的协商,请给我留言。
出处:http://procoder.cnblogs.com
本作品由Jake Lin创作,采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。 任何转载必须保留完整文章,在显要地方显示署名以及原文链接。如您有任何疑问或者授权方面的协商,请给我留言。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架