是这样的,我在网上找到一段可以下载文件的语句,是通过API函数URLDownloadToFile来下载。。建工程以后我把语句放进去,在网上找了首歌想试试好不好使,但是下载是下载了,但是下载的文件不能用。。用迅雷下载后却能用,并且迅雷下载的文件比之前下载的文件要大很多。。程序如下:
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
Sub command1_click()
R = URLDownloadToFile(0, "http://2ting.rm130.com/99123-6/0007/8.Wma", "c:\8.Wma", 0, 0)
End Sub
为什么程序能下载,但是下载的文件却不能运行呢?并且下载的大小和迅雷下载的大小不一样,迅雷下载的是正确的。。
有知道的、了解的、走过的、路过的都发表下意见。。让我参考一下。。谢谢了。。

解决方案 »

  1.   

    我用另一种方法试过了,下载的实际上是个swf的文档,那为什么我给的地址会变成这个swf文件的下载路径呢?
      

  2.   

    另外你说的这个API函数的第5个参数根本搜不到相关的信息。。
      

  3.   

    测试通过
    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
    Sub command1_click()
    r = URLDownloadToFile(0, "http://www.54nanren.com.cn/en-us/music/Music_Upload/mianhuatang.wma", "c:\8.Wma", 0, p)
    If r = 0 Then MsgBox "下载完毕"
    End Sub lyserver 说的第五个参数为回调函数,可以在那里获得文件下载进度。
    不知道怎么写