c语言软件自动更新,C++简单实现程序自动更新
许多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++简单实现程序自动更新相关推荐
- kiel实现c语言编程,Kiel 软件的使用和简单C程序调试
<Kiel 软件的使用和简单C程序调试>由会员分享,可在线阅读,更多相关<Kiel 软件的使用和简单C程序调试(15页珍藏版)>请在人人文库网上搜索. 1.单片机原理与接口技术 ...
- 2022华中杯数学建模思路实时更新-ABC思路已更新(A一二程序已更新)-4月30日19时
[关注我,思路实时更新,详细思路持续更新.去年原创思路,被很多机构贩卖,都是免费的,程序也是免费的,以前是您好啊数模君/数模孵化园,现在改名啦,认准:,原创发布,别被坑了] 目录 [详细思路,B已更新 ...
- java程序自动重启_让Java程序自动重启的实现方法(推荐)
要让一个java程序自动重启还真不容易的,重启分两步,首先是结束程序,这个简单,只要运行System.exit()就可以了.然后是启动,这个就难了,这个时候程序都已经结束了,就像一个人死了就不可能再自 ...
- c语言自动生成版本号,单片机C程序自动产生并增加版本号
工作原理:很简单地说,运行Version.exe生成一个"version.h"头文件,文件的内容如下: #ifndef VERSION_H_INCLUDED #define VER ...
- C语言的图形界面?——简单外挂程序
简单接触c语言图形界面后就想把之前的控制台外挂小程序变成图形界面,仅供娱乐,目前只完成了两个版本即年度版和中文版的阳光和金币修改,其他修改可自行搜索偏移地址,这里奉上一篇个人认为比较详细的ce寻找基址 ...
- python写签到软件_第一个实用python程序——自动填写工作日志、签到
刚刚把文章重看了一遍,自己给的评价就是:闲的没事干了? 1. 前言 一直苦于每天要分上下午两次写工作日志(不太能理解单位某些部门的脑洞--一天一次不行么?噢--噢噢,好吧,你们抄的模板就是分上下午的, ...
- java软件发布_发布简单java程序
oh shit tmd! 一个小小的java类搞了一下午!! 以后记住了,一个项目里只写一个main方法,写多了麻烦也就多了....毕竟我这么怕麻烦----- -------------------- ...
- 每晚11点后电脑自动休眠的简单Java程序
由于我下班之后从来不关电脑,以备远程连接,因此在周一到周五每晚十一点后执行睡眠命令,保证第二天电脑使用流畅. import java.util.Calendar;public class Main { ...
- linux脚本自动修改网卡,Linux脚本程序自动修改网卡配置文件中的MAC地址
在玩Linux虚拟机的时候,一个安装好linux系统的virtual HDD会用于创建多个虚拟机,这样就不需要在创建每个虚拟机都安装一遍系统了.virtual HDD加载到虚拟机后,新的虚拟机的MAC ...
最新文章
- R语言distCosine函数计算大圆距离实战(Law of Cosines Great Circle Distance)
- 基于ArcGIS API for JavaScript加载天地图
- PowerDesigner中的对象与关系映射建模
- Python 关于bytes类方法对数字转换的误区, Json的重要性
- 将字符串转为16进制数_C语言中的进制互转与数值和字符串互转的混搭玩法
- Anaconda依赖包的安装
- 迅雷:游移的4亿用户帝国
- 傅里叶变换公式整理,意义和定义,概念及推导
- java实现有限自动机_Java 实现一个非确定性有限自动机(NFA)
- 一句话教你认出世界名画作者!
- 网易暴力裁员事件 网易员工疑遭网易暴力裁员
- 各互联网公司offer比较
- React/Vue/Nerv 任你选,多端框架 Taro 发布 3.0 RC 版本
- linux执行可执行命令程序ls,linux运行可执行程序命令
- 米尔格拉姆连锁信实验_连锁信:使客户对个性化电子邮件感到满意
- 不完全免疫算法简介HEIA--AIS学习笔记2
- 大容量Flash型AT91系列ARM核微控制器
- 图像分类篇——AlexNet详解
- echarts图表大小根据div大小的改变而改变的问题
- Wavelets: Seeing the forest and the trees