请问以下代码为什么下载url1(url1中是图是不断变化的)中的图是总是会有时重复,有什么办法可以改进,谢谢
Private Sub NewProcess(Url1, users, id)
Web.Navigate Url1
Sleep (1000)
Web.Refresh
Sleep (2000)filepath = "e:\aa_files\showimg_pda.jpg"
R = URLDownloadToFile(0, Url1, filepath, 0, 0)
If R = 0 Then
 FileCopy "e:\aa_files\showimg_pda.jpg", "E:\waps\" & users & "\photo" & Photos(id) & ".jpg"
End If
End Sub

解决方案 »

  1.   

    可以用其他方式下载。
    以前写的一个下载图片并更新桌面背景的代码里面下载部分很简单。'测试代码前,请在窗体中放入一个 PicBox 及一个Microsoft Internet Transfer Control,名称默认
    Option ExplicitPrivate Declare Function SystemParametersInfo Lib "user32" _
    Alias "SystemParametersInfoA" _
    (ByVal uAction As Long, ByVal uParam As Long, _
    ByVal lpvParam As Any, ByVal fuWinIni As Long) As LongConst SPI_SETDESKWALLPAPER = 20
    Const SPIF_UPDATEINIFILE = &H1
    Const SPIF_SENDWININICHANGE = &H2
    Private Sub SetDImg(ByVal UrlImg As String, ByVal TmpImg As String)
    Dim Bilden() As Byte
    '下载图片,并保存到一个2进制数组
    Bilden() = Inet1.OpenURL(UrlImg, icByteArray)
    '保存文件
    Open TmpImg For Binary Access Write As #1
    Put #1, , Bilden()
    Close #1
    '显示图片,并转换存储格式(虽然用的还是原来的名字,但实际上。。变BMP了)
    Picture1.Picture = LoadPicture(TmpImg)
    SavePicture Picture1.Picture, TmpImgCall SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, TmpImg, SPIF_UPDATEINIFILE Or SPIF_SENDWININICHANGE)
    End SubPrivate Sub Form_Load()
    SetDImg "http://zi.csdn.net/468_61.jpg", "c:\mtemp.gif"
    End Sub
      

  2.   

    zcsor,你的方法我试了,如果是直接指向一个图是可以的,但我现在指向的是一个框架,所以我必须用Web.Navigate Url1打开才行,你帮我看看有没有其它的办法,有没有办法给Private Sub Form_Load()传入参数,或是清楚缓等其它的办法来解决,谢谢
      

  3.   

    指向一个框架?什么意思啊,你代码里面保存为图片了。。你可以利用DocumentComplete事件来处理,这个事件发生在加载Document完毕时,其参数URL是被加载的页面地址。这时可以在DOCUMENT内某个FORM就应该是你要的。。不太清楚你的意思。。
      

  4.   

    你说的这几个我不太会,有没有办法给Private Sub Form_Load()传入参数,