用VC++实现软件的版本在线升级

现在很多共享软件都有"在线升级"功能,比如"Windows 优化大师","超级兔子",所谓在线升级就是一个版本检测程序,通过他,用户可以随时检查有没有新版本程序,以便及时升级,下面我们就在自己的程序里来实现这个功能:

  在正式编程前,我要说的是:我不赞成某些共享软件在每次启动时候都检测新版本,并弹出窗口提醒用户,有时候这大大影响或者妨碍了用户的操作和使用,我们要实现的功能是:让用户自己去检查新版本!

  编程思路是这样的:首先我们在主页某个地址放一个文件,然后在我们的程序里来检查它,以便获得新版本信息!这里版本信息文件我们用INI文件来操作!比如下列格式,

[Version]
Version=12
[URL]
URL=http://www.123.com/123.exe

  其中的 Version是新版本号,12表示V1.2版,这个格式完全可以自己设置,URL是新版本程序下载地址

  另外,要获取INTETNET上的文件,我们一般有2种办法,一是通过FTP下载,二是HTTP直接连接,如果你有国际域名空间,那么就可以使用匿名FTP在程序里获取版本信息文件,但是对于使用免费主页的朋友来说就麻烦了。因为服务器不是我们的,这就不太方便了。那么采用HTTP方式获取版本信息文件就很有必要了!要获取网站上的某个文件并保存在本地,我们只需要一个API函数URLDownloadToFile()即可,当成功下载INI文件后我们就可以读取这个文件并进行分析工作了!

  具体实现过程:

  打开VC,建立MFC程序,放置一个标签IDC_VER ,用来输出信息,另外安排2个按狃,分别是IDC_CHECK,IDC_DOWNLOAD

  前者用来检查是否有新版本,后者用来下载新版本程序!

  首先我们添加一个成员变量char new_url[100] 来存放新版本程序的下载地址:

  然后在IDC_CHECK 按钮事件里输入以下代码来检查有无新版本:

SetDLgItemText(IDC_VER,"正在检查,请等待。。。。。。");

int ret=URLDownloadToFile(NULL,"
http://ip/vesion.ini","c://version.ini",0,NULL);

if (ret==S_OK) //如果下载成功
{
// 读取Version 段的数据,得到新版本好
int newversion=GetPrivateProfileInt("Version","Ver",10,"c://version.ini");
if (newversion>10) //跟当前版本比较,10表示目前版本V1.0 ,根据具体版本自己设置
{
SetDLgItemText(IDC_VER,"有新版本了!");
// 得到新版本下载地址给变量new_url
GetPrivateProfileString("URL","URL",0,new_url,100,"c://version.ini");
}
else
SetDLgItemText(IDC_VER,"抱歉。还没有新版本!");


DeleteFile("c://version.ini"); //用完后删除

}
else
SetDLgItemText(IDC_VER,"网络连接失败!");

  在IDC_DOWNLOAD 按钮事件里输入以下代码以便打开IE浏览器下载新文件:

ShellExecute(this->m_hWnd,"open",new_url,NULL,"c://",SW_SHOW);

  现在我们编辑一个VERSION.INI文件,并放到主页里,然后就可以实现新版本检查功能了!

  本文只是讲述一个编程思路,具体功能还要各位编程爱好者自己去完善,比如:如果你想让程序自动升级版本,那么你需要把这个版本检查程序做成一个单独的EXE文件,通过它来检查新版本,并从服务器上下载新版本来覆盖旧版本!这些功能,大家就根据自己的需要去实现吧!

 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
实现一个仿QQ聊天软件,我们可以借助VC(Visual C++编程语言来进行开发。 首先,需要设计用户界面。可以使用VC提供的图形界面设计工具进行界面的设计和布局,包括聊天窗口、联系人列表、消息框等等。确保界面美观、易用。 其次,需要进行网络通信的实现。我们可以使用VC提供的套接字库(Socket)来实现客户端和服务器的通信。通过TCP/IP协议,客户端和服务器可以在同一局域网内进行通信,实现实时消息的发送和接收。 然后,需要实现用户注册和登录的功能。用户可以通过注册账号和密码来创建自己的账户,然后使用已注册的账号和密码登录到聊天软件中。可以使用数据库来存储用户的信息,VC提供了相关的数据库访问接口,可以方便地进行用户信息的存取。 接下来,需要实现联系人管理的功能。用户登录后,可以查看自己的联系人列表,并且可以添加、删除、编辑联系人信息。可以使用数据库来存储联系人的信息,并使用VC提供的数据库访问接口来实现相关的功能。 最后,需要实现聊天功能。用户可以选择一个联系人进行聊天,并可以发送文字、表情、图片等消息。可以在用户之间建立一个聊天室,通过服务器中转消息,实现实时聊天的功能。 总之,通过使用VC编程语言,可以很好地实现仿QQ聊天软件。从界面设计到网络通信、用户管理、联系人管理和聊天功能的实现VC提供了丰富的组件和接口,可以帮助我们轻松地实现各项功能。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值