想得到EXE文件的版本,可是总是乱码?

类库 2004-03-06 03:48:55
代码如下:
DWORD dwVerInfoSize;
unsigned int cbTranslate = 0;
int ilanguage = 0;
TCHAR tValPath[256];
char FileInfo[MAX_PATH];
char *pVerData;
TListItem *Item;
AnsiString TempString ;

struct LANGANDCODEPAGE {
WORD wLanguage;
WORD wCodePage;
} *lpTranslate;

VersionListView->Items->Clear();
dwVerInfoSize = GetFileVersionInfoSize(lpszFileName,NULL);
pVerData = new char[dwVerInfoSize];
if(GetFileVersionInfo(lpszFileName, 0, dwVerInfoSize, pVerData))
{
VerQueryValue(pVerData,
TEXT("\\VarFileInfo\\Translation"),
(LPVOID*)&lpTranslate,
&cbTranslate);
wsprintf( tValPath,
TEXT("\\StringFileInfo\\%04x%04x\\"),
lpTranslate[ilanguage].wLanguage,
lpTranslate[ilanguage].wCodePage);
TempString = tValPath;

if(VerQueryValue(pVerData,
AnsiString(TempString+"FileDescription").c_str(),
(LPVOID *)&FileInfo,
&cbTranslate))
{
Item = VersionListView->Items->Add();
Item->Caption = "FileDescription";
Item->SubItems->Add(FileInfo);
}
不知道哪里出问题了,请高手指点一下!
...全文
47 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
类库 2004-03-23
  • 打赏
  • 举报
回复
怎么不能结贴了啊,郁闷~

1,221

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧