VB 程序设计

10个成员

用VB实现任意修改Win桌面背景

发表于 2016-12-21 3466 次查看
   首先在VB中创建一个窗体并在其中加入一个命令按钮,第一步在窗体的通用段中输入以下代码:


   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保留字去掉。

   然后在命令按钮中的Click事件中输入以下代码:

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

   Call SystemParametersInfo(SPI_SETDESKWALLPAPER, 0,"c:\windows\CIRCLES.bmp", SPIF_UPDATEINIFILE)

   '将桌面图片清除

   Call SystemParametersInfo(SPI_SETDESKWALLPAPER, 0,"",SPIF_UPDATEINIFILE)

   但以上程序设定图片之后,必须等到下次Windows重新启动时才生效,如果要设定之后立刻生效,则程序须修改如下:

   Const SPIF_SENDWININICHANGE = &&H2

   Call SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, "c:\windows\CIRCLES.bmp", SPIF_UPDATEINIFILE + SPIF_SENDWININICHANGE )

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

   Call SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, "c:\windows\CIRCLES.bmp", SPIF_SENDWININICHANGE ) '去掉SPIF_UPDATEINIFILE

 

发表回复
你还没有登录,请先登录注册