此函数已经测试可以,自行测试
IS_GetAppVersion(char * AppName){ CString AppVersion; //AppVersion=IS_GetAppCreateTime(AppName); DWORD RessourceVersionInfoSize; DWORD JustAJunkVariabel; char* VersionInfoPtr; char* InformationPtr; UINT VersionInfoSize; char VersionValue[255]; VS_FIXEDFILEINFO *TranslationPtr/*= new VS_FIXEDFILEINFO*/; VS_FIXEDFILEINFO m_vsffi; RessourceVersionInfoSize=GetFileVersionInfoSize(AppName,&JustAJunkVariabel); if(0!=RessourceVersionInfoSize) { VersionInfoPtr=new char[RessourceVersionInfoSize]; memset(VersionInfoPtr,0x00,RessourceVersionInfoSize); if(GetFileVersionInfo(AppName,0,RessourceVersionInfoSize,VersionInfoPtr)) { if(/*::*/VerQueryValue( VersionInfoPtr, _T( "//" ), (LPVOID*)&TranslationPtr, &VersionInfoSize ) ) { ::CopyMemory( &m_vsffi, TranslationPtr, sizeof( VS_FIXEDFILEINFO ) ); WORD nVer[4]; nVer[0] = HIWORD(m_vsffi.dwProductVersionMS); nVer[1] = LOWORD(m_vsffi.dwProductVersionMS); nVer[2] = HIWORD(m_vsffi.dwProductVersionLS); nVer[3] = LOWORD(m_vsffi.dwProductVersionLS); AppVersion.Format(_T( "%u.%u.%u.%u"), nVer[0], nVer[1],nVer[2],nVer[3]); delete TranslationPtr; delete[] VersionInfoPtr; return AppVersion; } } }}