许多c艹的hxd想简单滴实现下程序的更新,现在就由小编zfat来讲解下思路

思路

获取网页内容,与程序版本比较

提示:以下是本篇文章正文内容,下面案例可供参考

1、实例

代码如下(示例):

string xiaves;

cout << "是否下载beta版(1/2)";

int betayes;

cin >> betayes;

if (betayes == 1) {

xiaves = "beta.html";

}

else {

xiaves = "update.html";

}

string wangye = "http://******/update/" + xiaves;

LPCSTR wangzhi = wangye.c_str();

HRESULT dyes;

cout << "检查中" << endl;

dyes = URLDownloadToFile(0, _T(wangzhi), _T("C:\\bugfixed_update.txt"), 0, NULL); //下载检测文件

if (dyes == S_OK) //下载成功

{

string temp; //读取文件

ifstream infile;

infile.open("C:\\bugfixed_update.txt",ios::in | ios::trunc);

ifstream readFile("C:\\bugfixed_update.txt");

readFile >> temp;

cout << temp << endl;

readFile.close();

if (temp == "0.4") { //==后为当前版本 //诺后端与前端相同

cout << "无版本更新";

Sleep(100000);

return 0;

}

else {

cout << "检测到新版本" << endl; //不同

cout << "是否立即安装(1/2)";

cin >> betayes;

if (betayes == 1) {

string down = "http://****/download/" + xiaves;

LPCSTR download = down.c_str();

dyes = URLDownloadToFile(0, _T(download), _T("C:\\update.msi"), 0, NULL);

if (dyes == S_OK) {

system("start c:\\update.msi");

system("del c:\\update.msi");

return 0;

}

else {

cout << "下载失败" << endl;

}

else {

return 0;

}

}

}

else {

cout << "检测失败" << endl;

}

}

2.主要函数讲解

URLDownloadToFile 保存网页内容 不支持重定向(容易报毒

ifstream 恶心的文件与流 详情看https://www.runoob.com/cplusplus/cpp-files-streams.html

其他的话

像网页端可以尝试下github.io或gitee博客

总结

一个简单思路

我怎么一股营销号味?!

by zfat 2021/1/24

c语言软件自动更新,C++简单实现程序自动更新相关推荐

  1. kiel实现c语言编程,Kiel 软件的使用和简单C程序调试

    <Kiel 软件的使用和简单C程序调试>由会员分享,可在线阅读,更多相关<Kiel 软件的使用和简单C程序调试(15页珍藏版)>请在人人文库网上搜索. 1.单片机原理与接口技术 ...

  2. 2022华中杯数学建模思路实时更新-ABC思路已更新(A一二程序已更新)-4月30日19时

    [关注我,思路实时更新,详细思路持续更新.去年原创思路,被很多机构贩卖,都是免费的,程序也是免费的,以前是您好啊数模君/数模孵化园,现在改名啦,认准:,原创发布,别被坑了] 目录 [详细思路,B已更新 ...

  3. java程序自动重启_让Java程序自动重启的实现方法(推荐)

    要让一个java程序自动重启还真不容易的,重启分两步,首先是结束程序,这个简单,只要运行System.exit()就可以了.然后是启动,这个就难了,这个时候程序都已经结束了,就像一个人死了就不可能再自 ...

  4. c语言自动生成版本号,单片机C程序自动产生并增加版本号

    工作原理:很简单地说,运行Version.exe生成一个"version.h"头文件,文件的内容如下: #ifndef VERSION_H_INCLUDED #define VER ...

  5. C语言的图形界面?——简单外挂程序

    简单接触c语言图形界面后就想把之前的控制台外挂小程序变成图形界面,仅供娱乐,目前只完成了两个版本即年度版和中文版的阳光和金币修改,其他修改可自行搜索偏移地址,这里奉上一篇个人认为比较详细的ce寻找基址 ...

  6. python写签到软件_第一个实用python程序——自动填写工作日志、签到

    刚刚把文章重看了一遍,自己给的评价就是:闲的没事干了? 1. 前言 一直苦于每天要分上下午两次写工作日志(不太能理解单位某些部门的脑洞--一天一次不行么?噢--噢噢,好吧,你们抄的模板就是分上下午的, ...

  7. java软件发布_发布简单java程序

    oh shit tmd! 一个小小的java类搞了一下午!! 以后记住了,一个项目里只写一个main方法,写多了麻烦也就多了....毕竟我这么怕麻烦----- -------------------- ...

  8. 每晚11点后电脑自动休眠的简单Java程序

    由于我下班之后从来不关电脑,以备远程连接,因此在周一到周五每晚十一点后执行睡眠命令,保证第二天电脑使用流畅. import java.util.Calendar;public class Main { ...

  9. linux脚本自动修改网卡,Linux脚本程序自动修改网卡配置文件中的MAC地址

    在玩Linux虚拟机的时候,一个安装好linux系统的virtual HDD会用于创建多个虚拟机,这样就不需要在创建每个虚拟机都安装一遍系统了.virtual HDD加载到虚拟机后,新的虚拟机的MAC ...

最新文章

  1. R语言distCosine函数计算大圆距离实战(Law of Cosines Great Circle Distance)
  2. 基于ArcGIS API for JavaScript加载天地图
  3. PowerDesigner中的对象与关系映射建模
  4. Python 关于bytes类方法对数字转换的误区, Json的重要性
  5. 将字符串转为16进制数_C语言中的进制互转与数值和字符串互转的混搭玩法
  6. Anaconda依赖包的安装
  7. 迅雷:游移的4亿用户帝国
  8. 傅里叶变换公式整理,意义和定义,概念及推导
  9. java实现有限自动机_Java 实现一个非确定性有限自动机(NFA)
  10. 一句话教你认出世界名画作者!
  11. 网易暴力裁员事件 网易员工疑遭网易暴力裁员
  12. 各互联网公司offer比较
  13. React/Vue/Nerv 任你选,多端框架 Taro 发布 3.0 RC 版本
  14. linux执行可执行命令程序ls,linux运行可执行程序命令
  15. 米尔格拉姆连锁信实验_连锁信:使客户对个性化电子邮件感到满意
  16. 不完全免疫算法简介HEIA--AIS学习笔记2
  17. 大容量Flash型AT91系列ARM核微控制器
  18. 图像分类篇——AlexNet详解
  19. echarts图表大小根据div大小的改变而改变的问题
  20. Wavelets: Seeing the forest and the trees

热门文章

  1. 使用Navicat for Mysql创建数据库
  2. SnapGene 中文视频学习教程 教学 资料分子生物学DNA序列分析
  3. 我叫mt3.2更新公告
  4. web前端学习路线思维导图
  5. 摊上事了! Facebook向用户手机发生日信息涉嫌违法
  6. Linux 常用命令,记录一下
  7. 手把手教你PS,美女是P出来的
  8. blender中的灯光和相机学习笔记
  9. MATLAB程序流程控制
  10. 三 iOS之 CALayer的隐式动画