title: vc设置程序版本, 获取程序版本号 vc++实现获取软件自身的版本号
author: Love02xp
date: 2020-08-09 13:04:17
category: [编程代码]
tags: [VC6,代码,学习]
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; //年-月-日,时:分
}
_
- [原文链接]()
- 注:知识搬运,供学习交流使用,侵联删!
_