Key words: Program version number, getFileVersionInfo
This article is transferred from C Builder - http://www.ccrun.com/article/go.asp?i=425&d=x14gd7string __fastcall tform1 :: getfileversion (string filename) {int ost 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 = INTOSTR (HiWord (pvsinfo-> dwfileversionms) "." Asver = INTOSTR (loword (pvsinfo-> dwfileversionms) "."; Asver = INTOSTR (HiWord (pvsinfo-> dwfilevers)) "."; Asver = INTOSTR (loword (pvsinfo-> dwfileversionls))) DELETE PBUF;} Return AsVer;}