一聚教程网:一个值得你收藏的教程网站

热门教程

用VB创建FTP组件(get)

时间:2022-06-30 11:10:55 编辑:袖梨 来源:一聚教程网

基本步骤:
1、用一个InternetOpen调用设置环境。
2、调用InternetConnect 函数与主机连接。
3、调用FtpGetFile 达到文件。
4、关闭第1、2步创建的句柄,用InternetCloseHandle 函数。
现在来仔细看看每一步:
1、通过调用InternetOpen 函数设置环境。下面是VB特定调用这一函数的声明:
Private 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 Long
  参数sAgent 用来指定调用WinINet 函数的应用程序或实体。为了达到目的,可以设置FTP控制。
  参数lAccessType 指定我们是直接与某一主机相连还是使用代理服务器相连。如果传递值1,就直接与主机连接。如果传递3,就通过代理服务器。如果传递0,连接时就要基于
HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet Settings下的注册表数值
ProxyEnable、ProxyServer和 ProxyOverride 。
  我们可以使用参数sProxyName和 sProxyBypass,而不是注册设置来提供代理服务器和不使用代理服务器的IP地址和名字。列出代理的基本格式是rotocol=protocol://proxy_name:access_port?。例如,要指定Proxy1 上的端口21为代理服务器,用Ftp=ftp://Proxy1:21?作为sProxyName。要饶过以ov? 开始的任何主机,sProxyBypass 字符串应为ov*? 。
  最后,lFlags 用来显示影响函数结果的不同选择。在我们的例子中,我们传递0。
  所以,不使用代理而打开一个Internet session 时,我们的调用是这样的:
lngINet = InternetOpen(“FTP Control”, 1, vbNullString, vbNullString, 0)
  如果函数调用失败,lngINet 为0。不然,lngINet 就保存在下一步中将要传递给InternetConnect
函数的句柄的值。
2、通过调用InternetConnect 函数与主机连接。VB特定调用这一函数的声明是:
Private Declare Function InternetConnect Lib "wininet.dll" Alias "InternetConnectA" _
  (ByVal hInternetSession As Long, ByVal sServerName As String, _
  ByVal nServerPort As Integer, ByVal sUsername As String, _
  ByVal sPassword As String, ByVal lService As Long, _

热门栏目