正文

用vb实现ftp的上传下载2005-10-28 20:09:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/stef/6397.html

分享到:

Option Explicit Public 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 Public 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, _ByVal lFlags As Long, ByVal lContext As Long) As Long Public Declare Function FtpGetFile Lib "wininet.dll" Alias "FtpGetFileA" _(ByVal hFtpSession As Long, ByVal lpszRemoteFile As String, _ByVal lpszNewFile As String, ByVal fFailIfExists As Boolean, _ByVal dwFlagsAndAttributes As Long, ByVal dwFlags As Long, _ByVal dwContext As Long) As Boolean Public Declare Function FtpPutFile Lib "wininet.dll" Alias "FtpPutFileA" _(ByVal hFtpSession As Long, ByVal lpszLocalFile As String, _ByVal lpszRemoteFile As String, ByVal dwFlags As Long, _ByVal dwContext As Long) As Boolean Public Declare Function FtpDeleteFile Lib "wininet.dll" Alias "FtpDeleteFileA" _  (ByVal hFtpSession As Long, ByVal lpszFileName As String) As Boolean  Public Declare Function FtpRenameFile Lib "wininet.dll" Alias "FtpRenameFileA" _  (ByVal hFtpSession As Long, ByVal lpszExsiting As String, ByVal lpszNew As String) As Boolean  Public Declare Function InternetCloseHandle Lib "wininet.dll" (ByVal hInet As Long) As Integer Public Declare Function FtpFindFirstFile Lib "wininet.dll" Alias "FtpFindFirstFileA" _   (ByVal hFtpSession As Long, ByVal lpszSearchFile As String, _    lpFindFileData As WIN32_FIND_DATA, ByVal dwFlags As Long, _    ByVal dwContent As Long) As Long    Public Declare Function InternetFindNextFile Lib "wininet.dll" Alias "InternetFindNextFileA" _(ByVal hFind As Long, lpvFndData As WIN32_FIND_DATA) As Long Public Type FILETIME  dwLowDateTime As Long  dwHighDateTime As LongEnd TypePublic Type WIN32_FIND_DATA   dwFilAttributes As Long   ftCreationTime As FILETIME   ftLastAccessTime As FILETIME   ftLastWriteTime As FILETIME   nFileSizeHigh As Long   nFileSizeLow As Long   dwReserved0 As Long   dwReserved1 As Long   cFileName As String * 260   cAlternate As String * 14End Type Public Declare Function GetOpenFileName Lib "comdlg32.dll" Alias _        "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long Type OPENFILENAME     lStructSize As Long     hwndOwner As Long     hInstance As Long     lpstrFilter As String     lpstrCustomFilter As String     nMaxCustFilter As Long     nFilterIndex As Long     lpstrFile As String     nMaxFile As Long     lpstrFileTitle As String     nMaxFileTitle As Long     lpstrInitialDir As String     lpstrTitle As String     flags As Long     nFileOffset As Integer     nFileExtension As Integer     lpstrDefExt As String     lCustData As Long     lpfnHook As Long     lpTemplateName As StringEnd TypePrivate Sub Command1_Click()lnginet = InternetOpen(vbNullString, INTERNET_OPEN_TYPE_PRECONFIG, _   vbNullString, vbNullString, 0&)If lnginet Then  lnginetconn = InternetConnect(lnginet, "ip地址", 0, _        "用户名", "密码", 1, 0, 0)  If lnginetconn Then      blnRC = FtpGetFile(lnginetconn, "website/address.asp", "c:\address.asp", 0, 0, 1, 0)      If blnRC Then        MsgBox "download ok!!!"      End If      InternetCloseHandle lnginetconn      InternetCloseHandle lnginet      MsgBox "close ok!!!"  Else     MsgBox "can't connect"  End IfElse     MsgBox "ftp wrong"End IfEnd Sub Private Sub Command2_Click()Dim pData As WIN32_FIND_DATADim lngHINet As LongDim intError As IntegerDim strTemp As StringDim blnRC As BooleanpData.cFileName = String(260, 0)lnginet = InternetOpen(vbNullString, INTERNET_OPEN_TYPE_PRECONFIG, _   vbNullString, vbNullString, 0&)If lnginet Then  lnginetconn = InternetConnect(lnginet, "IP地址", 0, _        "用户名", "密码", 1, 0, 0)   If lnginetconn Then   lngHINet = FtpFindFirstFile(lnginetconn, "*.*", pData, 0, 0)   strTemp = Left(pData.cFileName, InStr(1, pData.cFileName, String(1, 0), vbBinaryCompare) - 1)   Do      pData.cFileName = String(260, 0)      blnRC = InternetFindNextFile(lngHINet, pData)      If Not blnRC Then          Exit Do      Else         strTemp = Left(pData.cFileName, InStr(1, pData.cFileName, String(1, 0), vbBinaryCompare) - 1)      End If         Loop   Text1.Text = strTemp  End If  End If   InternetCloseHandle lngHINet      InternetCloseHandle lnginetconn      InternetCloseHandle lnginet      End Sub

阅读(5853) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册