|
为什么在EVC4中调用VerQueryValue来获取文件版本信息时,只能获取到一位?
[复制链接]
我在EVC4.0中调用VerQueryValue来获取当前文件的版本等信息时,系统能返回文件版本,但是不全呀?
char RootBlock[2048];
LPVOID *translation;
unsigned int vlen;
TCHAR sVer[300];
char sBuf[200];
//TCHAR ver[50];
char *ver;
CString strSpecBuild;
memset( sVer , 0 , sizeof(sVer ) );
GetFileVersionInfo(m_lpszImageName, NULL, sizeof(RootBlock), RootBlock);
VerQueryValue(RootBlock, L"\\VarFileInfo\\Translation", (LPVOID *)&translation, &vlen);
wsprintf( sVer ,L"\\StringFileInfo\\%04x%04x\\FileVersion", LOWORD(*translation), HIWORD(*translation));
VerQueryValue(RootBlock, sVer,(LPVOID *)&ver, &m_uiDataSize);
系统ver的返回值为文件的版本,本来时1.0.1,但是这里只返回1,而且m_uiDataSize的值为6?
|
|