VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)
首页 - 经验之谈 - 如何改变桌面的图片
发表评论(0)作者:, 平台:, 阅读:7804, 日期:2000-03-12
如何改变桌面的图片?

此一问题需调用 SystemParametersInfo API 函数,细节如下:

1. API 的声明:

Const SPI_SETDESKWALLPAPER = 20

Const SPIF_UPDATEINIFILE = &H1

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 之前加上 Public 保留

字, 并且将 Private 保留字去掉。

2. 程序范例:

Call SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, BMP图档名称,

SPIF_UPDATEINIFILE)

例如:

' 1. 将桌面图片设定成 c:\windows\setup.bmp

Call SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, "c:\windows\setup.bmp

", SPIF_UPDATEINIFILE)

' 2. 将桌面图片清掉

Call SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, "",

SPIF_UPDATEINIFILE)

程序如下:

Call SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, BMP图档名称,

SPIF_UPDATEINIFILE)

例如:

' 1. 将桌面图片设定成 c:\windows\setup.bmp

Call SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, "c:\windows\setup.bmp

", SPIF_UPDATEINIFILE)

' 2. 将桌面图片清掉

Call SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, "",

SPIF_UPDATEINIFILE)

但以上程序设定图片之后, 必须等到下次 Windows 重新启动时才生效, 如果希

望设定之后立刻生效,则程序须修改如下:

Const SPIF_SENDWININICHANGE = &H2

Call SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, "c:\windows\setup.bmp

", SPIF_UPDATEINIFILE + SPIF_SENDWININICHANGE )

此外希望只有本次使用 Windows 时改变桌面图片(下次开机时还原原状), 则程序

如下:

Call SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, "c:\windows\setup.bmp

", SPIF_SENDWININICHANGE ) ' 去掉 SPIF_UPDATEINIFILE