一个程序怎样得到另一个程序的版本?
有没有一个通用的方法可以查看?

解决方案 »

  1.   

    GetFileVersionInfo /VerQueryValue
      

  2.   

    谢谢一楼,我用GetFileVersionInfo得到了版本信息串,但怎样用VerQueryValue解析出来?能举个例吗?
      

  3.   

    // Structure used to store enumerated languages and code pages.HRESULT hr;struct LANGANDCODEPAGE {
      WORD wLanguage;
      WORD wCodePage;
    } *lpTranslate;// Read the list of languages and code pages.VerQueryValue(pBlock, 
                  TEXT("\\VarFileInfo\\Translation"),
                  (LPVOID*)&lpTranslate,
                  &cbTranslate);// Read the file description for each language and code page.for( i=0; i < (cbTranslate/sizeof(struct LANGANDCODEPAGE)); i++ )
    {
      hr = StringCchPrintf(SubBlock, 50,
                TEXT("\\StringFileInfo\\%04x%04x\\FileDescription"),
                lpTranslate[i].wLanguage,
                lpTranslate[i].wCodePage);
    if (FAILED(hr))
    {
    // TODO: write error handler.
    }  // Retrieve file description for language and code page "i". 
      VerQueryValue(pBlock, 
                    SubBlock, 
                    &lpBuffer, 
                    &dwBytes); 
    }