当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > VB6使用API下载文件

ASP.NET
asp.net实现C#代码加亮显示
如何显示在线人数和所在位置
ASP.net生成文字图片
ASP.NET提供文件下载函数
一个简单的ASP.NET Forms 身份认证
在ASP.NET中实现多文件上传
asp.net 2.0中使用sitemapDATAsource做页面导航
通过ASP.net程序创建域帐户故障
为ASP.NET封装的SQL数据库访问类
在ASP.NET中跟踪和恢复大文件下载
SQL存储过程在.NET数据库中的应用
对“学号”、“身份证”的数字分析
把.NET程序部署到没有安装.NET Framwork的机器上
ASP.NET中同时支持简体和繁体中文
几十个ASP.NET性能优化的常用方法
.NET环境下五种邮件发送解决方案
.NET开发中正则表达式中BUG一例
.NET反射、委托技术与设计模式
.net中Windows窗体间的数据交互
ADO.NET访问Oracle 9i存储过程(上)

ASP.NET 中的 VB6使用API下载文件


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 216 ::
收藏到网摘: n/a

小弟用VB6.0编制了一个小程序,使用win32的关于internet 的API来下载文件。程序用户界面如下 本程序包括两个文件 frmDownLoad.frm (主窗体)和clsCount.cls(计算下载速度的类模块) 大家建立一个简单的VB应用程序项目,将两个文件加入项目即可
我觉得clsCount.cls有问题,望有心人查查
'##############################################################################'**'** 文件 frmDownLoad.frm 的内容'**'##############################################################################VERSION 5.00Begin VB.Form frmDownLoad BorderStyle = 1 'Fixed Single Caption = "Form1" ClientHeight = 2880 ClientLeft = 45 ClientTop = 330 ClientWidth = 6375 BeginProperty Font Name = "宋体" Size = 9 Charset = 0 Weight = 400 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty LinkTopic = "文件下载" MaxButton = 0 'False ScaleHeight = 2880 ScaleWidth = 6375 StartUpPosition = 2 'CenterScreen Begin VB.CommandButton cmdStop Caption = "停止" Enabled = 0 'False Height = 480 Left = 1860 TabIndex = 6 Top = 2160 Width = 1365 End Begin VB.CommandButton cmdStart Caption = "开始" Height = 480 Left = 165 TabIndex = 5 Top = 2160 Width = 1365 End Begin VB.TextBox txtFile Height = 330 Left = 750 TabIndex = 3 Top = 705 Width = 5445 End Begin VB.TextBox txtURL Height = 330 Left = 750 TabIndex = 1 Top = 285 Width = 5445 End Begin VB.Label lblCount BackStyle = 0 'Transparent Caption = "下载" Height = 180 Left = 180 TabIndex = 4 Top = 1245 Width = 5130 End Begin VB.Label Label1 AutoSize = -1 'True Caption = "文件:" Height = 180 Left = 195 TabIndex = 2 Top = 780 Width = 450 End Begin VB.Label lblURL AutoSize = -1 'True Caption = "URL:" Height = 180 Left = 195 TabIndex = 0 Top = 360 Width = 360 EndEndAttribute VB_Name = "frmDownLoad"Attribute VB_GlobalNameSpace = FalseAttribute VB_Creatable = FalseAttribute VB_PredeclaredId = TrueAttribute VB_Exposed = FalseOption ExplicitPrivate Declare Function StrFormatByteSize Lib "shlwapi" Alias _"StrFormatByteSizeA" (ByVal dw As Long, ByVal pszBuf As String, ByRef _cchBuf As Long) As StringPrivate Declare Function InternetOpen Lib "wininet.dll" _ Alias "InternetOpenA" (ByVal sAgent As String, _ ByVal lAccessType As Long, ByVal sProxyName As String, _ ByVal sProxyBypass As String, ByVal lFlags As Long) As LongPrivate Declare Function InternetOpenUrl Lib "wininet.dll" _ Alias "InternetOpenUrlA" (ByVal hOpen As Long, _ ByVal surl As String, ByVal sHeaders As String, _ ByVal lLength As Long, ByVal lFlags As Long, _ ByVal lContext As Long) As LongPrivate Declare Function HttpOpenRequest Lib "wininet.dll" _ Alias "HttpOpenRequestA" _ (ByVal hInternetSession As Long, _ ByVal lpszVerb As String, _ ByVal lpszObjectName As String, _ ByVal lpszVersion As String, _ ByVal lpszReferer As String, _ ByVal lpszAcceptTypes As Long, _ ByVal dwFlags As Long, _ ByVal dwContext As Long) As Long Private Declare Function InternetConnect Lib "wininet.dll" _ Alias "InternetConnectA" _ (ByVal hInternetSession As Long, _ ByVal lpszServerName As String, _ ByVal nProxyPort As Integer, _ ByVal lpszUsername As String, _ ByVal lpszPassword As String, _ ByVal dwService As Long, _ ByVal dwFlags As Long, _ ByVal dwContext As Long) As LongPrivate Declare Function HttpSendRequest Lib "wininet.dll" _ Alias "HttpSendRequestA" _ (ByVal hHttpRequest As Long, _ ByVal sHeaders As String, _ ByVal lHeadersLength As Long, _ ByVal sOptional As String, _ ByVal lOptionalLength As Long) As BooleanPrivate Declare Function InternetReadFile Lib "wininet.dll" _ (ByVal hFile As Long, ByRef sBuffer As Byte, _ ByVal lNumBytesToRead As Long, lNumberOfBytesRead As Long) _ As IntegerPrivate Declare Function InternetCloseHandle Lib "wininet.dll" _ (ByVal hInet As Long) As Integer Private Declare Function GetLastError Lib "kernel32" () As Long ' Adds one or more HTTP request headers to the HTTP request handle.'Public Declare Function HttpAddRequestHeaders Lib "wininet.dll" Alias "HttpAddRequestHeadersA" _'(ByVal hHttpRequest As Long, ByVal sHeaders As String, ByVal lHeadersLength