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

ASP.NET
一个无刷新效果定时自动更新页面的例子
ASP.NET2.0的控件状态和视图状态探讨
用好ASP.NET 2.0的URL映射
详解:如何在.NET中访问MySQL数据库?
如何实现Asp与Asp.Net共享Session
利用.net的强大功能发送email
.NET中加密与解密QueryString的方法
Asp.net生成htm静态文件的两种途径
C#定时器的使用
从XML文件中读取数据绑定到DropDownList
ASP.NET 2.0 里输出文本格式流
用.net动态创建类的实例
.Net下的MSMQ的同步异步调用
ASP.NET 2.0实现防止同一用户同时登陆
asp.NET自定义服务器控件内部细节
组合.NET数据控件构建强大用户接口
用ASP.NET 2.0 FormView控件控制显示
菜鸟也学习ASP.NET如何读取数据库内容
教你简单方便获取Web设计的免费资源
专家详解:复杂表达式的执行步骤

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 57 ::
收藏到网摘: 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