WEB开发网
开发学院软件开发VC Web 版本检查以及为应用程序添加声音效果 阅读

Web 版本检查以及为应用程序添加声音效果

 2007-03-17 22:00:40 来源:WEB开发网   
核心提示:本文示例源代码或素材下载 在 2003 四月的专栏文章中,你描述了如何实现一个叫 CWebVersion 的类,Web 版本检查以及为应用程序添加声音效果,用它可以存取网络上的某个文件来检查软件的版本,当版本过期后提示用户更新程序,这个版本号通常在 VERSIONINFO 或 DllGetVersion 资源中

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

在 2003 四月的专栏文章中,你描述了如何实现一个叫 CWebVersion 的类,用它可以存取网络上的某个文件来检查软件的版本,当版本过期后提示用户更新程序。你的实现使用 FTP 来下载文件,但我的站点的 ISP 不允许使用匿名 FTP 连接,只能通过用户和口令登陆。我能不能用 HTTP 来代替 FTP,将版本文件作为 Web 页面下载。

如果没读过 2003 四月的专栏文章,我在这里简单介绍一下 CWebVersion 类,它是我编写的一个用来比较程序版本号的类,版本号文件存储在 Web 上。我在 TraceWin 程序中就是使用这个类来通知用户何时有新版本下载的。

没错,你可以用 HTTP;但不必转换文件。在我原来的实现中确实应该使用 HTTP,因为 HTTP 比 FTP 使用的更加广泛。许多 Web 服务提供商出于安全的原因都不允许匿名的 FTP 访问,但对于文件传输来说,FTP 效率更高(这也是我用 FTP 的原因),HTTP 对于获取简单的文本文件不错。

CWebVersion 读取文本文件,文件中的版本数据用逗号分割成四部分:高/低位的主/次版本号。使用方法是这样的:

if (CWebVersion::Online()) {
  CWebVersion webver("www.mysite.com");
  if (webver.ReadVersion("myversion.txt")) {
    // dwVersionMS and dwVersionLS now
    // hold the version numbers
  }
}

静态成员函数 CWebVersion::Online 调用 ::InternetQueryOption, 用 INTERNET_OPTION_CONNECTED_STATE 作为参数,以便检查此电脑是否连接到 Internet。如果已经连接,那么 CWebVersion::ReadVersion 便从你的 Web 网站读取版本文件。接着你可以将读取到的版本号与应用程序中编译的版本号进行比较,这个版本号通常在 VERSIONINFO 或 DllGetVersion 资源中(详情参见:“如何获取某个动态链接库的版本信息”)。原来的 CWebVersion 使用 FTP 来获取文件;本文我改为使用 HTTP 来处理。使用 MFC 的 Wininet 类,在 Web 上通过 HTTP 读取文件很容易:

1 2 3 4 5 6  下一页

Tags:Web 检查

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