用VB实现任意修改Win桌面背景
2006-02-27 11:40:55 来源:WEB开发网核心提示:首先在VB中创建一个窗体并在其中加入一个命令按钮,第一步在窗体的通用段中输入以下代码:ConstSPI_SETDESKWALLPAPER=20ConstSPIF_UPDATEINIFILE=&&H1PRivateDeclareFunctionSystemParametersInfoLib"user32&quo
首先在VB中创建一个窗体并在其中加入一个命令按钮,第一步在窗体的通用段中输入以下代码:
ConstSPI_SETDESKWALLPAPER=20
ConstSPIF_UPDATEINIFILE=&&H1
PRivateDeclareFunctionSystemParametersInfoLib"user32"Alias"SystemParametersInfoA"(ByValuActionAsLong,ByValuParamAsLong,ByVallpvParamAsAny,ByValfuWinIniAsLong)AsLong
注:如果以上的声明放在“一般模块”下,应在Const之前加上Public保留字,并且将Private保留字去掉。
然后在命令按钮中的Click事件中输入以下代码:
'将桌面图片设定成c:\windows\CIRCLES.bmp
CallSystemParametersInfo(SPI_SETDESKWALLPAPER,0,"c:\windows\CIRCLES.bmp",SPIF_UPDATEINIFILE)
'将桌面图片清除
CallSystemParametersInfo(SPI_SETDESKWALLPAPER,0,"",SPIF_UPDATEINIFILE)
但以上程序设定图片之后,必须等到下次Windows重新启动时才生效,如果要设定之后立刻生效,则程序须修改如下:
ConstSPIF_SENDWININICHANGE=&&H2
CallSystemParametersInfo(SPI_SETDESKWALLPAPER,0,"c:\windows\CIRCLES.bmp",SPIF_UPDATEINIFILE SPIF_SENDWININICHANGE)
此外如果只有本次使用Windows时改变桌面图片(下次开机时还原原状),则程序如下:
CallSystemParametersInfo(SPI_SETDESKWALLPAPER,0,"c:\windows\CIRCLES.bmp",SPIF_SENDWININICHANGE)'去掉SPIF_UPDATEINIFILE->
ConstSPI_SETDESKWALLPAPER=20
ConstSPIF_UPDATEINIFILE=&&H1
PRivateDeclareFunctionSystemParametersInfoLib"user32"Alias"SystemParametersInfoA"(ByValuActionAsLong,ByValuParamAsLong,ByVallpvParamAsAny,ByValfuWinIniAsLong)AsLong
注:如果以上的声明放在“一般模块”下,应在Const之前加上Public保留字,并且将Private保留字去掉。
然后在命令按钮中的Click事件中输入以下代码:
'将桌面图片设定成c:\windows\CIRCLES.bmp
CallSystemParametersInfo(SPI_SETDESKWALLPAPER,0,"c:\windows\CIRCLES.bmp",SPIF_UPDATEINIFILE)
'将桌面图片清除
CallSystemParametersInfo(SPI_SETDESKWALLPAPER,0,"",SPIF_UPDATEINIFILE)
但以上程序设定图片之后,必须等到下次Windows重新启动时才生效,如果要设定之后立刻生效,则程序须修改如下:
ConstSPIF_SENDWININICHANGE=&&H2
CallSystemParametersInfo(SPI_SETDESKWALLPAPER,0,"c:\windows\CIRCLES.bmp",SPIF_UPDATEINIFILE SPIF_SENDWININICHANGE)
此外如果只有本次使用Windows时改变桌面图片(下次开机时还原原状),则程序如下:
CallSystemParametersInfo(SPI_SETDESKWALLPAPER,0,"c:\windows\CIRCLES.bmp",SPIF_SENDWININICHANGE)'去掉SPIF_UPDATEINIFILE->
更多精彩
赞助商链接