QQ登录

只需一步,快速开始

上位机MFC软件在线升级实例源代码

[ 复制链接 ]

上位机MFC软件在线升级实例源代码

上位机MFC软件在线升级实例源代码

我们软件编写发布后,都要进行更新升级。
一般如QQ,微信都支持在线升级功能。
当前这个例程也实现类似功能,
运行例程,
选择界面的连接地址,
可以点击确认升级程序。
升级按钮会新开一个线程来实现升级相关工作。
例如如下:
  1. UINT UpdateMyProgram(LPVOID v)
  2. {
  3.         CMyUpdateDlg *dlg=(CMyUpdateDlg *)AfxGetApp()->GetMainWnd();

  4.         //得到本程序路径
  5.     CString strFilePath;
  6.         strFilePath=dlg->pMyFun->GetFileFullPath();
  7.        
  8.         BOOL bErrorSign;
  9.         bErrorSign=FALSE;
  10.         int iPos_U;
  11.         CString strPath,strOutLocal;
  12.         iPos_U=strFilePath.Find("MyUpdate.exe");
  13.         strPath=strFilePath.Mid(0,iPos_U);
  14.         //得到本地客户端程序的保存位置/路径
  15.         strOutLocal.Format("%s%s",strPath,_T("MyClient.exe"));

  16.         //检测新版本,如果发现新版本,则升级
  17.         CString NewVersion,strUpdateUrl,OldVersion,strUrl,strInfo,strOutUrl;
  18.         //本软件的版本号
  19.         OldVersion=_T("1.0.0.1");

  20. //        dlg->m_IDC_UPDATEURL01.GetLBText(m_IDC_UPDATEURL01.GetCurSel(),strUrl);
  21.         strUrl=dlg->m_strUpdateUrl;

  22.         //得到新版本相关资料
  23.         dlg->m_IDC_STATIC_UPDATE.SetWindowText(_T("正在检测新版本..."));
  24.         strInfo=dlg->pMyFun->InternetGetInfo(strUrl);

  25.         if(strInfo!=_T("Error"))
  26.         {
  27.                 //得到版本号及升级地址
  28.                 int iPos1,iPos2,strLen;

  29.                 strLen=strInfo.GetLength();
  30.                 iPos1=strInfo.Find("#");
  31.                 iPos2=strInfo.Find("#",iPos1+1);
  32.                 NewVersion=strInfo.Mid(iPos1+1,iPos2-iPos1-1);//版本号

  33.                 iPos1=iPos2;
  34.                 iPos2=strInfo.Find("#",iPos1+1);
  35.                 strUpdateUrl=strInfo.Mid(iPos1+1,iPos2-iPos1-1);//升级地址

  36.                 //比较新旧版本
  37.                 if(dlg->pMyFun->TestVersion(OldVersion,NewVersion))
  38.                 {
  39.                         dlg->m_IDC_STATIC_UPDATE.SetWindowText(_T("正在下载新版本..."));
  40.                         dlg->pMyFun->InternetGetFile(strUpdateUrl,strOutLocal);
  41.                 }else
  42.                 {
  43.                         bErrorSign=TRUE;
  44.                 }
  45.         }else
  46.         {
  47.                 bErrorSign=TRUE;
  48.         }
  49.         if(bErrorSign)
  50.                 dlg->m_IDC_STATIC_UPDATE.SetWindowText(_T("更新失败,请检测网络是否正常!"));
  51.         else
  52.                 dlg->m_IDC_STATIC_UPDATE.SetWindowText(_T("您的程序已经升级为最新版本!"));

  53.         dlg->m_IDC_UPDATEURL01.EnableWindow(TRUE);

  54.         dlg->GetDlgItem(IDC_STATIC_UPDATE)->ShowWindow(SW_SHOW);
  55.         dlg->GetDlgItem(IDC_PROGRESS1)->ShowWindow(SW_HIDE);
  56.         dlg->GetDlgItem(IDC_UPDATE)->ShowWindow(SW_SHOW);

  57.         AfxEndThread(0);

  58.         return 0;
  59. }
复制代码
附件含两部分内容
1) update文件夹下为服务器所用文件.
2) MyUpdate为客户端所用文件源程序.

下载地址:
请点击此处下载

请先注册会员后在进行下载

已注册会员,请先登录后下载

文件名称:上位机MFC软件在线升级实例源代码.rar 
文件大小:120.04 KB  售价:1金币
下载权限: 不限 以上或 VIP会员   [购买捐助会员]   [充值积分]   有问题联系我


  

halcon从自学到接项目视频教程,另外再赠送全网最全资源  

  

欢迎围观我录制的一套halcon自学视频教程(进入)


  

上位机VC MFC程序开发精典实例大全源码与视频讲解配套下载408例

  

经历1年的编程与录制点击进入查看



回复

使用道具 举报

快速回复 返回列表 客服中心 搜索