您的位置:首页 > 其它

获得可执行程序的版本

2010-09-10 11:23 218 查看
AnsiString __fastcall GetAppVersion(AnsiString ExeName)
{
VS_FIXEDFILEINFO *VInfo;
unsigned int i;
char *buf;
int ma,mj,r,b;
AnsiString sReturn = "";
i = GetFileVersionInfoSize(ExeName.c_str(), 0);
buf = new char[i];
try
{
if(GetFileVersionInfo(ExeName.c_str(), 0, i, buf) != 0)
{
if(VerQueryValue(buf,"//",&((void*)VInfo),&i))
{
ma= VInfo->dwFileVersionMS >> 16;
mj= VInfo->dwFileVersionMS & 0x00ff;
r= VInfo->dwFileVersionLS >> 16;
b= VInfo->dwFileVersionLS & 0x00ff;
sReturn = AnsiString(ma) + "." + AnsiString(mj) + "."
+ AnsiString(r) + "." + AnsiString(b);
}
}
}
__finally
{
delete [] buf;
}
return sReturn;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: