2844|0

68

帖子

0

TA的资源

一粒金砂(初级)

用VerQueryValue得到文件信息的问题 [复制链接]

TCHAR *szver=NULL;
dwlen=GetFileVersionInfoSize(szpath[k],&dwtemp);
szver=new TCHAR[dwlen];
rt1=GetFileVersionInfo(szpath[k],0,dwlen +1,szver);//这里rt1==1了
DWORD cbTranslate = 0;
VerQueryValue(szver, TEXT("\\VarFileInfo\\Translation")(LPVOID*&lpTranslate,
(PUINT)&cbTranslate);
wsprintf( SubBlock,TEXT("\\StringFileInfo\\%04x%04x\\FileVersion"),
                        lpTranslate->wLanguage,
                        lpTranslate->wCodePage);
                rt1=VerQueryValue(szver,SubBlock,(void**)&pTmp,(PUINT)&cbTranslate);//这里rt1==0 pTmp为空 SubBlock没有问题。
运行程序时,65个文件,有15个有上面这种情况。这15个的version肯定是存在的。(不存在GetFileVersionInfoSize返回0了)就是不知道为什么。GetFileVersionInfoSize和GetFileVersionInfo成功了,VerQueryValue却失败了。而且其它文件的version信息都正常显示。
大大们怎么解决啊?

回复
您需要登录后才可以回帖 登录 | 注册

相关帖子
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/5 下一条
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2023 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表