龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > C/C++开发 >

如何取得程序本身版本号

时间:2009-12-22 15:42来源:未知 作者:admin 点击:
分享到:
String __fastcall TForm1::GetFileVersion(String FileName) { int iVerInfoSize; char *pBuf; AnsiString asVer=""; VS_FIXEDFILEINFO *pVsInfo; unsigned int iFileInfoSize = sizeof( VS_FIXEDFILEINFO ); iVerInfoSize = GetFileVersionInfoSize(FileNam

  String __fastcall TForm1::GetFileVersion(String FileName)

  

{

  

int iVerInfoSize;

  

char *pBuf;

  

AnsiString asVer="";

  

VS_FIXEDFILEINFO *pVsInfo;

  

unsigned int iFileInfoSize = sizeof( VS_FIXEDFILEINFO );

  

  

iVerInfoSize = GetFileVersionInfoSize(FileName.c_str(), NULL);

  

if(iVerInfoSize!= 0)

  

{

  

pBuf = new char[iVerInfoSize];

  

if(GetFileVersionInfo(FileName.c_str(),0, iVerInfoSize, pBuf ) )

  

{

  

if(VerQueryValue(pBuf, "",(void **)&pVsInfo,&iFileInfoSize))

  

{

  

asVer = IntToStr( HIWord(pVsInfo->dwFileVersionMS) )+".";

  

asVer += IntToStr( LOWORD(pVsInfo->dwFileVersionMS) )+".";

  

asVer += IntToStr( HIWORD(pVsInfo->dwFileVersionLS) )+".";

  

asVer += IntToStr( LOWORD(pVsInfo->dwFileVersionLS) );

  

}

  

}

  

delete pBuf;

  

}

  

return asVer;

  

}

  

精彩图集

赞助商链接