在Windows Mobile和Wince(Windows Embedded CE)下进行Native C++开发,如何取出资源文件中的版本信息
2009-11-13 06:38
796 查看
在Windows Mobile和Wince(Windows Embedded CE)下开发的产品,有时候需要显示当前产品的版本信息。一般来说,版本信息是保存在资源文件里面的,例如下图:
为了保持一致,所有版本信息应该都从资源文件读取,不应该另外硬编码(Hard code)。
下面讲述读取资源文件版本信息的方法:
完成了,效果如下图:
最近一直做WTL的开发,写了不少这方面的总结,请看我的blog。
为了保持一致,所有版本信息应该都从资源文件读取,不应该另外硬编码(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。
相关文章推荐
- 在Windows Mobile和Wince(Windows Embedded CE)下进行Native C++开发,如何取出当前执行文件的路径和调用模块的路径
- 在Windows Mobile和Wince(Windows Embedded CE)下进行Win32开发,取出当前所有运行中进程信息的方法
- 在Windows Mobile和Wince(Windows Embedded CE)下进行Win32开发,取出窗口句柄的方法
- 在Windows Mobile和Wince(Windows Embedded CE)下进行WTL开发,如何加入超链接(HyperLink)
- 在Windows Mobile和Wince(Windows Embedded CE)下如何使用.NET Compact Framework开发进程管理程序
- Windows Mobile和Wince(Windows Embedded CE)下如何封装Native DLL提供给.NET Compact Framework进行调用
- 在Windows Mobile和Wince(Windows Embedded CE)下如何使用.NET Compact Framework开发进程管理程序
- 在Windows Mobile和Wince(Windows Embedded CE)下使用.NET Compact Framework进行GPS NMEA data数据分析的开发
- 开发Windows Mobile和Wince(Windows Embedded CE)的部署项目(Deploy Project)时,如何修改注册表
- 在Windows Mobile和Wince(Windows Embedded CE)下进行Native C++时间函数的运用
- 在Windows Mobile和Wince(Windows Embedded CE)下使用.NET Compact Framework进行GPS NMEA data数据分析的开发
- 在Windows Embedded CE下进行Native C++开发,一次错误使用多线程的经验教训
- Windows Mobile 和 Wince(Windows Embedded CE) 下的 WTL(Windows Template Library) 界面(UI)开发
- Windows Mobile和Wince(Windows Embedded CE)下的WTL(Windows Template Library)开发
- 在Windows Mobile和Wince(Windows Embedded CE)下使用.NET Compact Framework 取当前运行文件的路径
- Windows Mobile 和 Wince(Windows Embedded CE) 下的 WTL(Windows Template Library) 界面(UI)开发
- Windows Mobile和Wince(Windows Embedded CE )下使用.NET Compact Framework下注册表导出工具的开发
- Windows Mobile和Wince(Windows Embedded CE)的字符集问题
- Windows Moible, Wince 使用.NET Compact Framework的进行蓝牙(Bluetooth)开发 之 Windows Embedded Source Tools for Bluetooth
- Windows Mobile和Wince下使用TinyXML进行Native C++的开发