VS2010获取程序自身的版本号

在程序的标题栏中显示版本号有助于用户快速了解自己所用程序的版本。

在关于对话框中也会显示程序的版本号。

在资源文件中设置好版本信息后,可以在程序的属性中查看到程序的版本信息。


改个版本号至少要修改3个地方,太麻烦了。

可以用下面的方法直接读出程序的版本号,将版本号用程序控制显示在标题栏以及关于对话框中。

之后只需要改资源文件中的版本号这一个地方就行了,再也不会出现改了这个地方忘了那个地方的事情了。


// 获取版本号需要使用这个库
#pragma comment(lib,"Version.lib")

void CXXXXXX::GetVersion(CString &ver)
{
	DWORD dwInfoSize = 0;
	TCHAR exePath[MAX_PATH];
	memset(exePath, 0, sizeof(exePath));

	ver.Format(_T("V1.00"));

	// 得到程序的自身路径
	GetModuleFileName(NULL, exePath, sizeof(exePath)/sizeof(TCHAR));

	// 判断是否能获取版本号
	dwInfoSize = GetFileVersionInfoSize(exePath, NULL);

	if (dwInfoSize == 0)
	{
		::OutputDebugString(L"GetFileVersionInfoSize fail\r\n");
	}
	else
	{
		BYTE* pData = new BYTE[dwInfoSize];

		// 获取版本信息
		if (!GetFileVersionInfo(exePath, NULL, dwInfoSize, pData))
		{
			::OutputDebugString(L"GetFileVersionInfo fail\r\n");
		}
		else
		{
			// 查询版本信息中的具体键值
			LPVOID lpBuffer;
			UINT uLength;
			if (!::VerQueryValue((LPCVOID)pData, _T("\\"), &lpBuffer, &uLength))
			{
				::OutputDebugString(L"GetFileVersionInfo fail\r\n");
			}
			else
			{
				DWORD dwVerMS;
				DWORD dwVerLS;
				dwVerMS = ((VS_FIXEDFILEINFO*)lpBuffer)->dwProductVersionMS;  
				dwVerLS = ((VS_FIXEDFILEINFO*)lpBuffer)->dwProductVersionLS;
				ver.Format(_T("V%d.%d.%d.%d"), (dwVerMS >> 16), (dwVerMS & 0xFFFF), (dwVerLS >> 16), (dwVerLS & 0xFFFF));
			}
		}

		delete pData;
	}
}

在需要获取版本号的地方,通过这个方法即可直接或间接获取到程序版本号了,形式为: V1.2.3.4


比如,在标题中插入版本号:

	// 在标题中加入程序的版本信息
	CString exeVer;
	CString exeCaption;
	this->GetWindowText(exeCaption);
	this->GetVersion(exeVer);
	exeCaption.AppendFormat(L" %s", exeVer);
	this->SetWindowText(exeCaption);

对于子窗口,如关于对话框,通过主窗口获取版本号后传值进去即可:

	if ((nID & 0xFFF0) == IDM_ABOUTBOX)
	{
		CAboutDlg dlgAbout;
		this->GetVersion(dlgAbout.mVersion);
		dlgAbout.DoModal();
	}




  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
校园小情书前端代码,好玩的表白墙、树洞、校园论坛,可独立部署,也可以使用我部署的后台服务。 一、注册管理后台 1、登录小情书站点进行注册:https://love.qiuhuiyi.cn/,这换成你自己部署后的域名 2、注册成功后会发送一封邮件到您的邮箱,进入邮箱访问接收到的地址即可激活账户。 3、登录账号会跳转到小程序的建立页面 4、如果提交没反应可以换个浏览器试试,因为选择学校的控制不匹配你的浏览器,改页面是有一个选择学校的搜索框的。 小程序的名字必须和你微信注册的名称一模一样,然后选择你所在的学校,这个输入框是可以搜索的,要是没有您的学校您可以跟叶子说一下,叫他帮忙加上就可以了。填写完成之后提交就可以进入后台了。 注意:如果没有看到选择学校的输入框,请换另外一个浏览器试试,例如谷歌或者360浏览器。 生成的小程序需要审核通过才能获取到alliance_key和域名,叫叶子通过一下就可以了。管理后台就注册完成了。 二、在微信小程序后台绑定小情书的域名 找到服务器域名配置,如下图     request合法域名     https://love.qiuhuiyi.cn //你的后台域名     uploadFile合法域名     https://up-z2.qbox.me     https://love.qiuhuiyi.cn     downloadFile合法域名     https://baldkf.bkt.clouddn.com      https://love.qiuhuiyi.cn //你的后台域名 这样子微信小程序就和后台服务器绑定好了。 三、拉取前端源码 前端代码存放在githubs上,地址是下面这个 https://github.com/oubingbing/school_wechat  //替换成你的后台域名 拉代码的时候顺便帮忙点一下start,哈哈。 有两种获取源码的方式 1、直接下载后解压 2、会使用git的最好用这种方式拉取,怎么拉取你应该是知道的,如果你会用,哈哈。 两种方式二选一都可以的。 四、配置前端。 用微信开发者工具打开源码后在项目根目录的config.js进行如下配置。 只要替换好后台生成的alliance_key以及在腾讯地图开放平台注册一个账号,把开发者ID粘贴到const TX_MAP_KEY = '';就可以了。 #### 此外,我们还需要用到一个七牛传图的第三方插件用于上传图片到七牛,这个插件挺好用的,只需要配置好七牛的token就可以上传图片了,下面我们来讲讲这个插件怎么添加到我们的小程序面。 登录小程序后台,设置=》第三方设置=》添加插件=》搜索=》添加即可,使用改插件的最新版本即可。 对比一下插件版本号,看看是否是最新的版本,如果不是就在app.json面填上最新的版本号即可。 然后dev是开发环境,prod是生产环境,进行相应的配置即可。 到这基本上配置就完成了 清除全部缓存,然后再点编译,项目应该就没问题了可以运行了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值