VB更换桌面壁纸
VB如何立即更换壁纸?不要重启后才换的。我的壁纸文件如:c:\1.jpg如何单击按钮就可以将1.JPG设为壁纸?我要符合以上要求的代码,谢谢~...
VB如何立即更换壁纸?不要重启后才换的。
我的壁纸文件如:c:\1.jpg 如何单击按钮就可以将1.JPG设为壁纸?
我要符合以上要求的代码,谢谢~ 展开
我的壁纸文件如:c:\1.jpg 如何单击按钮就可以将1.JPG设为壁纸?
我要符合以上要求的代码,谢谢~ 展开
2013-08-22
展开全部
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 SPI_SETDESKWALLPAPER = 20
Const SPIF_SENDWININICHANGE = &H2
Const SPIF_UPDATEINIFILE = &H1
Private Sub Form_Load()
ChangeWP = SystemParametersInfo(SPI_SETDESKWALLPAPER,
0, "Path+BmpFile", 0)
End Sub
使用这个例程确实能够切换墙纸,但存在以下问题:
1、用鼠标右键点击桌面,会看到【背景】→【墙纸】里面的文件名是空的。
2、重新启动后桌面墙纸消失。
3、没告诉您怎么切换"居中"或"平铺"。
怎么解决这些问题呢?
1、Windows的墙纸必须以BMP格式的文件存放在Windows目录下面,如果您的图片不在该目录或不是BMP文件,那么就会出现第一个问题。因此必须把您的图片转换成BMP文件并复制到Windows目录下面。
2、要使重新启动后需要在注册表里面修改相应的键值,具体位置是 HKEY_CURRENT_USER\Control Panel\desktop中的Wallpaper键,让它的键值等于您的全路径文件名。
3、在更换墙纸以前首先设置是否"居中",需要修改注册表中HKEY_CURRENT_USER\Control Panel\desktop中的TileWallpaper键,键值"0"表示"居中","1"表示"平铺"。
Const SPI_SETDESKWALLPAPER = 20
Const SPIF_SENDWININICHANGE = &H2
Const SPIF_UPDATEINIFILE = &H1
Private Sub Form_Load()
ChangeWP = SystemParametersInfo(SPI_SETDESKWALLPAPER,
0, "Path+BmpFile", 0)
End Sub
使用这个例程确实能够切换墙纸,但存在以下问题:
1、用鼠标右键点击桌面,会看到【背景】→【墙纸】里面的文件名是空的。
2、重新启动后桌面墙纸消失。
3、没告诉您怎么切换"居中"或"平铺"。
怎么解决这些问题呢?
1、Windows的墙纸必须以BMP格式的文件存放在Windows目录下面,如果您的图片不在该目录或不是BMP文件,那么就会出现第一个问题。因此必须把您的图片转换成BMP文件并复制到Windows目录下面。
2、要使重新启动后需要在注册表里面修改相应的键值,具体位置是 HKEY_CURRENT_USER\Control Panel\desktop中的Wallpaper键,让它的键值等于您的全路径文件名。
3、在更换墙纸以前首先设置是否"居中",需要修改注册表中HKEY_CURRENT_USER\Control Panel\desktop中的TileWallpaper键,键值"0"表示"居中","1"表示"平铺"。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询