WEB开发网
开发学院软件开发VC 基于 Web 的程序版本检查 阅读

基于 Web 的程序版本检查

 2006-07-21 11:09:14 来源:WEB开发网   
核心提示:本文示例源代码或素材下载 现在的很多程序都可以通过 Internet 进行版本更新,Windows 操作系统本身的“Windows Update”就是一个典型的例子,基于 Web 的程序版本检查,要实现这种特性,首先必须对应用程序的版本进行检查,这个类对所有细节进行了封装,实现的功能很简

本文示例源代码或素材下载

现在的很多程序都可以通过 Internet 进行版本更新,Windows 操作系统本身的“Windows Update”就是一个典型的例子。要实现这种特性,首先必须对应用程序的版本进行检查。那么如何通过 Internet 对自己的程序进行版本检查呢?本文将通过实际的例子程序来示范实现细节。

在进入正题之前,我想先罗嗦几句,说说与此文内容有关的个人好恶:我很讨厌程序显示那些必须让用户干预的消息框,这种消息框很烦人,尤其是问你要不要更新的那种对话框。碰到这种情况我总是回答“No”,然后选择“不要再来烦我”复选框(希望有一个这样的选择框)。 告诉用户进行程序版本更新本身并没有错,但是必须用一种适当的友好的方式通知用户,不要非得让用户来干预,除非是更新版本本身的行为。

但愿我的个人好恶没把你吓跑。其实,实现基于Web的版本检查有很多方法,2003年2月的 MSDN 杂志上有一篇标题为“使用.NET和后台智能传输服务API编写自动更新应用”的文章,此文的作者是 Jason Clark。文章描述了一种全新的专用协议 BITS 来解决自动更新问题。有兴趣的话可以仔细读一读。

但是,如果仅仅是为了检查程序的版本,那么可以将新的版本信息以文本形式保存在 Web 站点上,需要时通过 FTP 获取文件信息。下载 文件的操作可以通过现成的 Windows Internet API 来实现,也就是大家都熟悉的 WinInet,如果你没有用过它,没关系,本文会详细讲述如何用它来编写FTP程序。WinInet 的使用不难,他有固定的套路:第一步创建一个连接;第二步创建一个 FTP 会话;第三步打开文件;第四步读取文件数据,就这么简单。用代码表示就象下面这样: HINTERNET h = InternetOpen(...);
     HINTERNET hftp = InternetConnect(..,INTERNET_SERVICE_FTP,..);
     HINTERNET hftpfile = FtpOpenFile(...);
     InternetReadFile(...);

下面就让我们深入细节,享受精彩。为了方便代码的重用,我写了类 CWebVersion,这个类对所有细节进行了封装,实现的功能很简单:就是通过 Web 来获取程序版本信息,实现版本的检查。这个类的使用也很方便:

1 2 3 4  下一页

Tags:基于 Web 程序

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接