MFC 关于自动更新问题的解决方案和代码

1、MFC自动更新问题的解决方案:大多数关于自动更新的问题,首先是在url地址上放一个压缩包,本程序默认zip压缩,把压缩包从zip压缩包下载到本地,然后解压压缩包把解压后的文件拷贝到制定的目录,注意千万不要再压缩包里放更新的exe,因为压缩的exe不能更新本身。

2、核心代码:

//此部分为button部分实现代码,获取button上的文字,如果是Start Update,表示开始更新,启动线程;
//如果是Complete,表示更新完成,删除压缩文件和解压后的文件夹;
void CUpdateDlg::OnBnClickedMfcbuttonUp()
{
	// TODO: Add your control notification handler code here

	CString str;
	if (GetDlgItemText(IDC_MFCBUTTON_UP, str))
	{
		if (str == "Start Update")
		{
			m_pThreadUpdate = AfxBeginThread(ThreadUpdate, &m_progressctrl, THREAD_PRIORITY_NORMAL, CREATE_SUSPENDED);
			//m_progressctrl为进度条控件的变量
			if (m_pThreadUpdate == NULL)
			{
				AfxMessageBox("Thread is fail!");
				return;
			}

			m_pThreadUpdate->m_bAutoDelete = TRUE;//由系统处理线程
			m_pThreadUpdate->ResumeThread();
			SetTimer(1, 200, NULL);
		}
		else if (str == "Complete")
		{
			myDeleteDirectory("seer");
			DeleteFile("seer.zip");
			CDialog::EndDialog(0);
		}
			
	}

	
}
//定时器主要用于判断是否从网上下载完文件,如果完成把button的文字变为complete;
void CUpdateDlg::OnTimer(UINT_PTR nIDEvent)
{
	// TODO: Add your message handler code here and/or call 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值