我想做一个自动下载网页上图片的程序,可以设置需要下载图片的类别和大小,如果指定目录中图片的文件名重复,自动加后缀以区别。请各位大侠给个思路!

解决方案 »

  1.   

    首先要打开网页(除非你已经知道图片地址了)
    分析网页代码,找出图片地址,下载
    分类什么的就简单了,利用VB自带的文件夹控件可以了打开网页可以用的控件VB里就很多,分析代码是文本文件处理了,下载么,用WINSOCK什么的都行,代码很多,以前回了一个帖子,是把网上图片下回来变桌面背景的。把代码给你贴上'测试代码前,请在窗体中放入一个 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其实呢,还有一些办法,但是比较烂了,可以打开网页,用VB带的WB就行了,然后读IE缓存,读IE缓存的帖子是http://community.csdn.net/Expert/topic/4828/4828182.xml?temp=.9130365里面有我回复的,也是用的比较烂的方法了,但是能实现,也不费劲,你可以参考那几位高手用API实现的例子,很不错的
      

  2.   

    首先要打开网页(除非你已经知道图片地址了)
    分析网页代码,找出图片地址,下载
    分类什么的就简单了,利用VB自带的文件夹控件可以了打开网页可以用的控件VB里就很多,分析代码是文本文件处理了,下载么,用WINSOCK什么的都行,代码很多,以前回了一个帖子,是把网上图片下回来变桌面背景的。把代码给你贴上'测试代码前,请在窗体中放入一个 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其实呢,还有一些办法,但是比较烂了,可以打开网页,用VB带的WB就行了,然后读IE缓存,读IE缓存的帖子是http://community.csdn.net/Expert/topic/4828/4828182.xml?temp=.9130365里面有我回复的,也是用的比较烂的方法了,但是能实现,也不费劲,你可以参考那几位高手用API实现的例子,很不错的