获取版本信息Version的完整代码(从msdn扩展而来)
来源:互联网 发布:淘宝仅退款卖家不举证 编辑:程序博客网 时间:2024/05/21 18:59
// 首先调用GetFileVersionInfoSize获取版本号长度
String MyName = "C://Maxthon.exe";
DWORD NoUse = 0; //没有什么用
DWORD InfoSize = ::GetFileVersionInfoSize(MyName.c_str(), &NoUse);
// 有效的长度
if (InfoSize > 0)
{
auto_ptr<char> VersionInfo(new char[InfoSize]);
if(true == ::GetFileVersionInfo(MyName.c_str(),NoUse,InfoSize,VersionInfo.get())) // 获取版本信息成功
{
char *pValue = NULL;
UINT ValueLen;
String FileInfo = "//StringFileInfo//";
//抄MSDN的代码
struct LANGANDCODEPAGE {
WORD wLanguage;
WORD wCodePage;
} *lpTranslate;
//default 0x0804 /StringFileInfo/lang-codepage/string-name
if (true == ::VerQueryValue(VersionInfo.get(), "//VarFileInfo//Translation", (LPVOID *)&lpTranslate, &ValueLen))
{
if (ValueLen / sizeof(LANGANDCODEPAGE) >= 1)
{
FileInfo = FileInfo + IntToHex(lpTranslate[0].wLanguage, 4)+ IntToHex(lpTranslate[0].wCodePage,4) + "//"; // 这一步很关键哦
if (true == ::VerQueryValue(VersionInfo.get(), String(FileInfo + "ProductName").c_str(), (LPVOID *)&pValue, &ValueLen)) // 获取ProductName信息,ProductVersion等
{
String sSoftwareName = String(pValue); // 软件名称
}
}
}
- 获取版本信息Version的完整代码(从msdn扩展而来)
- MSDN例子获取操作系统版本信息Getting the System Version
- 基于Mozilla ThunderBird的扩展开发(三)---如何获取邮件的完整信息
- 从框架到完整项目搭建,实战项目《约个球》(2)-框架搭建之使用CrashHandler来获取应用的Crash信息
- android 代码获取版本信息
- 获取操作系统版本字符串(转自MSDN) 附判断操作系统的代码
- 获取完整的堆栈信息
- java从request中获取当前访问是从哪个完整的url来的
- 从AppStore获取一个iOS App的版本信息
- 从AppStore获取一个iOS App的版本信息
- 转:从AppStore获取一个iOS App的版本信息
- 就掌握了成功的C++,那么信息从何而来
- check(查看)cygwin的version(版本信息)
- 获取两个version来判断是否版本更新
- Android获取手机和系统版本等信息的代码
- Android获取手机和系统版本等信息的代码
- Android获取手机和系统版本等信息的代码
- Android获取手机和系统版本等信息的代码
- 专业术语解析
- 因变量定义位置不同有时出现非法错误
- RETAILMSG和DEBUGMSG的区别
- struts2.1.8 +dojo 的ajax方式
- /r/n与/n的区别
- 获取版本信息Version的完整代码(从msdn扩展而来)
- 执行延时检测方式
- c++学习课程
- Web面试题
- fedora linux apache/php下安装配置xdebug
- sql server 启用xp_cmdshell 重启pcanywhere
- 从资源中提取版本信息
- linux下最好的chm阅读器KchmViewer,安装使用/与oklular,xCHM,gnochm简单比较
- Ubuntu磁盘清理