CString GetFileVersion(char* FileName) { int iVerInfoSize; char *pBuf; CString asVer=""; VS_FIXEDFILEINFO *pVsInfo; unsigned int iFileInfoSize = sizeof( VS_FIXEDFILEINFO ); iVerInfoSize = GetFileVersionInfoSize(FileName,NULL); if(iVerInfoSize!= 0) { pBuf = new char[iVerInfoSize]; if(GetFileVersionInfo(FileName,0, iVerInfoSize, pBuf ) ) { if(VerQueryValue(pBuf, "//",(void **)&pVsInfo,&iFileInfoSize)) { asVer.Format("%d.%d.%d.%d",HIWORD(pVsInfo->dwFileVersionMS),LOWORD(pVsInfo->dwFileVersionMS),HIWORD(pVsInfo->dwFileVersionLS),LOWORD(pVsInfo->dwFileVersionLS)); } } delete pBuf; } return asVer; }