65.9K
CodeProject 正在变化。 阅读更多。
Home

提供 Internet 下载实用程序的 COM 组件

starIconstarIconstarIconstarIconemptyStarIcon

4.00/5 (5投票s)

2002年12月23日

2分钟阅读

viewsIcon

72293

downloadIcon

1747

一个用 C++ 编写的 COM 组件,提供多路并行下载、Internet 缓存访问、URL 和路径解析等功能。

Sample Image - MyInetUtils.jpg

引言

一年前我想创建一个大型多文件下载程序。我在 VB6 中实现了可视化界面,并在 ATL COM 组件中实现了实际的下载功能。我使用了 URL monikers,特别是 CBindStatusCallback ATL 类来实现下载。不幸的是,URL monikers 的文档很差,我只触及了该主题的表面。我还没有成功实现下载的暂停和恢复。该组件还包含其他一些用于缓存访问、URL 和路径解析的有用函数。我希望您觉得它有用。上图显示了一个小型 VB6 程序,它同时从 Microsoft download 站点下载 3 个文件。

下面是接口方法的简要列表。在源文件 zip 文件中,您还会找到一个 HtmlHelp,这是使用我的“自动 HTMLHelp 文档”工具创建的。

对象 AsyncDownloader

接口 IAsyncDownloader
名称 类型 解释
AbortDownload 方法 中止下载(无效)
ConcurrentDownloads 属性 Get/Let 并发下载数量
DownloadedBytes 属性 Get 已下载字节数
MaxBytes 属性 Get 最大下载字节数
RequestDownload 方法 请求下载
ResumeDownload 方法 恢复下载(无效)
状态 属性 Get 下载状态(进行中等)
SuspendDownload 方法 暂停下载(无效)
事件接口 _IAsyncDownloaderEvents
OnData 事件 数据已到达
OnFinish 事件 下载完成
OnStart 事件 下载开始

对象 CacheUtils

接口 ICacheUtils
名称 类型 解释
CrackUrl 方法 将 URL 解析为 UrlComponents 对象(主机、路径等)
DownloadToFile 方法 将 URL 下载到本地文件
MakeSureDirectoryPathExists 方法 确保目录路径存在
PathCombine 方法 组合路径
SaveURLfileFromCacheToLocalfile 方法 将 URL 文件从缓存保存到本地文件
UrlCombine 方法 URL 组合

对象 UrlComponents

接口 IUrlComponents
名称 类型 解释
ExtraInfo 属性 Get/Let ExtraInfo
FullURL 属性 Get/Let FullURL
HostName 属性 Get/Let HostName
密码 属性 Get/Let 密码
端口 属性 Get/Let 端口
Scheme 属性 Get/Let Scheme
UrlPath 属性 Get/Let UrlPath
UserName 属性 Get/Let UserName

对象 PathUtils

接口IPathUtils
名称 类型 解释
GetFullPathName 方法 获取完整路径名
GetModuleFileName 方法 获取模块文件名
GetShortPathName 方法 获取短路径名
MakeSureDirectoryPathExists 方法 确保目录路径存在
PathCanonicalize 方法 路径规范化
PathCombine 方法 Path Combine
PathCommonPrefix 方法 路径公共前缀
PathFindFileName 方法 查找路径文件名
PathIsDirectory 方法 路径是目录
PathIsFileSpec 方法 路径是文件说明
PathIsPrefix 方法 路径是前缀
PathIsRelative 方法 路径是相对的
PathIsRoot 方法 路径是根
PathIsSameRoot 方法 路径具有相同根
PathIsUNC 方法 路径是 UNC
PathIsURL 方法 路径是 URL
PathMatchSpec 方法 路径匹配说明
PathQuoteSpaces 方法 路径引用空格
PathRelativePathTo 方法 路径相对于...
PathRemoveArgs 方法 路径移除参数
PathRemoveBackslash 方法 路径移除反斜杠
PathRemoveBlanks 方法 路径移除空格
PathRemoveExtension 方法 路径移除扩展名
PathRemoveFileSpec 方法 路径移除文件名
PathRenameExtension 方法 路径重命名扩展名
UrlCombine 方法 URL 组合
© . All rights reserved.