VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)
首页 - 经验之谈 - 如何每天抓取 Internet 上某一个网页中的图片来更换桌面的壁纸
发表评论(0)作者:, 平台:, 阅读:9206, 日期:2000-04-02


主題: 如何每天抓取 Internet 上某一个网页中的图片来更换桌面的壁纸?

来源:Bjorn Larsson

版本:VB6 / VB5

资料整理:影子 VB爱好者乐园 yingzi007.126.com





有些处理图片的软件,尤其是可以处理桌面图片的软件,会提供您每天自动到 Internet 上的某一个网址,去抓下它的网站所提供,每天更换的图片,来更改桌面的底图,这是一个很炫的功能,而我们用 VB 也可以很容易的做到这样的功能,您相信吗?


这个主題会动用到之前我们提过的几个功能:(都可以在本站中找到)


1: 如何让程式在 Windows 启动時自动执行?

2: 如何从 Internet 上抓回某一个网页的內容?

3: 如何移除或更改桌面背景的底色壁纸 (Wallpaper)?


让我们开始来练习吧!


'请在 .BAS 中加入以下声明:


Private Declare Function SystemParametersInfo Lib "user32" _

Alias "SystemParametersInfoA" _

(ByVal uAction As Long, ByVal uParam As Long, _

ByVal lpvParam As Any, ByVal fuWinIni As Long) As Long


Const SPI_SETDESKWALLPAPER = 20

Const SPIF_UPDATEINIFILE = &H1

Const SPIF_SENDWININICHANGE = &H2

'请在表单中放入一个 TextBox 及一个 Internet Transfer Control


Private Sub Form_Load()

Dim Pos As Integer

Dim Pos2 As Integer

Dim Bilden() As Byte

Dim NrString As String



Text1.Text = Inet1.OpenURL("http://www.unitedmedia.com/comics/dilbert/archive/") 'Download the page.

Pos = InStr(1, Text1.Text, "/comics/dilbert/archive/images/dilbert")

Pos2 = InStr(Pos, Text1.Text, ".gif")

NrString = Mid(Text1.Text, Pos, Pos2 - Pos)

Text1.Text = "http://www.unitedmedia.com" + NrString + ".gif" ' Debug filename

Bilden() = Inet1.OpenURL("http://www.unitedmedia.com" + NrString + ".gif", icByteArray) ' Download picture.



Open "C:\dilbert.gif" For Binary Access Write As #1 ' Save the file.

Put #1, , Bilden()

Close #1



Picture1.Picture = LoadPicture("c:\dilbert.gif") 'Reload it To PictureBox

SavePicture Picture1.Picture, "c:\dilbert.bmp" 'Converted To bmp..



Call SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, "c:\dilbert.bmp", _

SPIF_UPDATEINIFILE Or SPIF_SENDWININICHANGE) 'Change the wallpaper.

Unload Me ' Exit program

End Sub

至於其中的网址及图片的名称,请自行更改。若是您开始使用以上的程序代码的話,也可以,您每天都可以看到一个动态的壁纸 !!