如何在vc里面获得一程序的版本号

解决方案 »

  1.   

    GetFileVersionInfoSize和GetFileVersionInfo具体用法可以看MSDN,需要获得这个程序的绝对路径代码
    DWORD verInfoSize;
    DWORD Handle;
    BOOL rt;
    VS_FIXEDFILEINFO *pFixedFileInfo;
    UINT size;
    verInfoSize = ::GetFileVersionInfoSize(strPath.GetBuffer(strPath.GetLength()+1), &Handle);
    if(verInfoSize)
    {
    char *verInfo = new char[verInfoSize];
    rt = ::GetFileVersionInfo(strPath.GetBuffer(strPath.GetLength()+1) ,NULL,verInfoSize,verInfo);  //strPath目标文件的绝对路径
    if(rt)
    {
    size = sizeof(VS_FIXEDFILEINFO);
    pFixedFileInfo = new VS_FIXEDFILEINFO;
    rt = ::VerQueryValue(verInfo,"\\",(LPVOID*)&pFixedFileInfo,&size);
    if(rt)
    {
    //取版本数据
    versionInfo.v1 = HIWORD(pFixedFileInfo->dwProductVersionMS);
    versionInfo.v2 = LOWORD(pFixedFileInfo->dwProductVersionMS);
    versionInfo.v3 = HIWORD(pFixedFileInfo->dwProductVersionLS);
    versionInfo.v4 = LOWORD(pFixedFileInfo->dwProductVersionLS);
    }
    }
    delete[] verInfo;
    } strPath.ReleaseBuffer(); 
    }
      

  2.   

    你指的库是什么类型库?还是lib?
      

  3.   

    #pragma comment(lib,"yourlib");加入库到工程中
      

  4.   

    同意oyljerry,在你要用这个库头文件中加入#pragma comment(lib,"yourlib");
    也可以直接在工程属性-〉Linker-〉Input-> Additional Dependencies中
    加入你要引入的lib库yourlib