vc设置程序版本, 获取程序版本号 vc++实现获取软件自身的版本号

vc设置程序版本, 获取程序版本号 vc++实现获取软件自身的版本号

@TOC


正文

VC 发布程序时设置版本信息

在windwos资源管理器中,可以查看exe或dll文件的版本信息,那么在使用vc生成exe或dll时如何设置版本信息呢,其实非常简单,只要修改资源中的VS_VERSION_INFO中的相关字段即可。这样,在对程序进行了修改后,可以生成新的版本,就不用依靠文件的日期来判断是哪个版本的了。

vc++实现获取软件自身的版本号 vc 获取程序版本号,当前程序路径,文件修改时间 等

//获取版本号 CString GetFileVersion(char FileName) {
int iVerInfoSize; char
pBuf; CString asVer=""; VS_FIXEDFILEINFO *pVsInfo; unsigned int iFileInfoSize = sizeof( VS_FIXEDFILEINFO ); iVerInfoSize = GetFileVersionInfoSize(FileName,NULL); if(iVerInfoSize!= 0) { pBuf = new char[iVerInfoSize]; if(GetFileVersionInfo(FileName,0,iVerInfoSize,pBuf))
{ if(VerQueryValue(pBuf,"//",(void **)&pVsInfo,&iFileInfoSize))
{ asVer.Format("%d.%d.%d.%d",HIWORD(pVsInfo->dwFileVersionMS),\ LOWORD(pVsInfo->dwFileVersionMS),HIWORD(pVsInfo->dwFileVersionLS),\ LOWORD(pVsInfo->dwFileVersionLS)); } } delete pBuf; } return asVer;
} //获取文件路径 CString GetCurrentAppDirectory() { char szFile[MAX_PATH]; char szPath[MAX_PATH]; GetModuleFileName(NULL,szFile,MAX_PATH); size_t i; for(i=strlen(szFile)-1; i>0 && szFile[i]!='//'; i--); szFile[i]='/0'; strcpy(szPath,szFile); return (szPath); } //获取当前时间 CString GetModifyTime(CString appname) { WIN32_FIND_DATA ffd ; HANDLE hFind = FindFirstFile(appname,&ffd); SYSTEMTIME stUTC, stLocal; CString strTmp;

FileTimeToSystemTime(&(ffd.ftLastWriteTime), &stUTC);
SystemTimeToTzSpecificLocalTime(NULL, &stUTC, &stLocal);

strTmp.Format("%d-%d-%d,%d:%d", stLocal.wYear,stLocal.wMonth,stLocal.wDay,stLocal.wHour,stLocal.wMinute);
return strTmp;    //年-月-日,时:分

}


  • [原文链接]()
  • 注:知识搬运,供学习交流使用,侵联删!