Login dark
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;    //年-月-日,时:分

}

_

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

_