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
Call SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, BMP图档名称, _
SPIF_UPDATEINIFILE)
例如: 将桌面图片设定成 c:\windows\setup.bmp
Call SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, "c:\windows\setup.bmp", _
SPIF_UPDATEINIFILE)
将桌面图片清掉
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
|