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

ASP.NET
ASP.NET下MVC设计模式的实现
ASP.NET中利用cookies保持客户端信息
有关TextBox中输入字符控制的一种解决办法
ASP.NET访问Oracle数据库的方法
追踪ASP.NET代码里的bug
在asp.net中为Web用户控件添加属性和事件
使用.NET实现断点续传
ASP.NET Whidbey中实现Provider
使用函数传递参数来执行数据库操作
ASP.NET中实现模版的动态加载
用Repeater控件显示数据
五种常见的ASP.NET安全缺陷
利用Treeview实现树形列表
将Asp.net页面输出为HTML
不走寻常路 设计ASP.NET应用程序的七大绝招
ASP.NET中的HTTP模块和处理程序
充分利用ASP.NET的三种缓存提高站点性能
在ASP.NET中使用Treeview控件和XML
ASP.NET+XML Web服务客户端创建Web服务
ASP.NET中不定级动态菜单的实现

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


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