我希望不用更改Project->Component选项,可以更改Project->Reference选项,Internet transfer control和Winsock control都要添加component

解决方案 »

  1.   

    本来想说用WebBrowser也可以,现在看来只有用shell来下载了,不用控件,Call ShellExecute(Me.hwnd, "open", "http://as.onlinedown.net/down/MyEBook3.rar", vbNullString, vbNullString, &H0)就行了
      

  2.   

    如果project类型是ActiveX DLL可以用ShellExecute吗?用ShellExecute可以自己指定文件存储路径和文件名吗?能不能给出URLDownloadToFile的例子?
      

  3.   

    我希望下载并保存,好像ShellExecute 只是打开,没有保存吧
      

  4.   

    Private Declare Function URLDownloadToFile Lib "urlmon" _
       Alias "URLDownloadToFileA" _
      (ByVal pCaller As Long, _
       ByVal szURL As String, _
       ByVal szFileName As String, _
       ByVal dwReserved As Long, _
       ByVal lpfnCB As Long) As Long
       
    Private Sub Command1_Click()   Dim sourceUrl As String
       Dim targetFile As String   
       sourceUrl = "http://soft.9zp.com/store.rar"
       targetFile = "D:\s.rar"
       
    URLDownloadToFile 0&, sourceUrl, targetFile, 0&, 0End Sub
      

  5.   

    用WININET.DLL吧!功能很强大啊!
    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 LongPublic 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 LongPublic 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 BooleanPublic 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
      

  6.   

    用SOCKT API来下载.其实也不算很难的.外国佬的网站上有一些封装好了的SOCKT模块.你在这些模块的基础上完成HTTP或FTP协议.
      

  7.   

    同意用WinINET,以API方式调用。
      

  8.   

    用shdocvw.dll啊
    Option Explicit
    Private Declare Function DoFileDownload Lib "shdocvw.dll" (ByVal lpszFile As String) As LongPrivate Sub Command1_Click()
    Dim str As String
    str = StrConv(Text1.Text, vbUnicode)
    Call DoFileDownload(str)
    End SubPrivate Sub Command2_Click()
    EndEnd SubPrivate Sub Form_Load()
    Text1.Text = "ftp://192.168.2.39/1.txt"
    End Sub