用VB编程实现任意修改Windows桌面背景 - VB
2009-12-20 18:22:28 作者:网络 来源:网络编程 浏览次数:0 网友评论 0 条
文/YUANXIANG_W
众所周知在Windows中可以通过属性面板任意修改背景图案,要在VB的程序设计中实现这一功能其实也很方便,具体实现方法如下:
首先在VB中创建一个窗体并在 ...
文/YUANXIANG_W
众所周知在Windows中可以通过属性面板任意修改背景图案,要在VB的程序设计中实现这一功能其实也很方便,具体实现方法如下:
首先在VB中创建一个窗体并在其中加入一个命令按钮,第一步在窗体的通用段中输入以下代码:
Const SPI_SETDESKWALLPAPER = 20
Const SPIF_UPDATEINIFILE = %26amp;%26amp;H1
Private Declare Function SystemParametersInfo Lib %26quot;user32%26quot; Alias %26quot;SystemParametersInfoA%26quot; (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,%26quot;c:\windows\CIRCLES.bmp%26quot;, SPIF_UPDATEINIFILE)
'将桌面图片清除
Call SystemParametersInfo(SPI_SETDESKWALLPAPER, 0,%26quot;%26quot;,SPIF_UPDATEINIFILE)
但以上程序设定图片之后,必须等到下次Windows重新启动时才生效,如果要设定之后立刻生效,则程序须修改如下:
Const SPIF_SENDWININICHANGE = %26amp;%26amp;H2
Call SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, %26quot;c:\windows\CIRCLES.bmp%26quot;, SPIF_UPDATEINIFILE + SPIF_SENDWININICHANGE )
此外如果只有本次使用Windows时改变桌面图片(下次开机时还原原状),则程序如下:
Call SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, %26quot;c:\windows\CIRCLES.bmp%26quot;, SPIF_SENDWININICHANGE ) '去掉SPIF_UPDATEINIFILE


已有