查询文件版本【exe文件】经测试可用

    技术2022-05-13  5

    此函数已经测试可以,自行测试

    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;   }  } }}


    最新回复(0)