宁波外贸化工有限公司:请问,在VB中怎么将JPG图片设置为壁纸

来源:百度文库 编辑:神马品牌网 时间:2024/05/05 10:58:15
现在我的程序只能将BMP格式的图片设置为壁纸
我上网查了一下,说VB只能把BMP图片设置为壁纸
是这样的吗?

我的程序已经修改了注册表,但怎么就是不能把JPG设置为壁纸呢?

部分代码如下:

Private Sub menuFileSetAsWallpaper_Click()
Dim bmpFile As String
Dim wallPaper As String
Dim hKey As Long

bmpFile = fileList.List(currentPic)
SystemParametersInfo SPI_SETDESKWALLPAPER, 0, ByVal bmpFile, 0

'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"表示"平铺"。
CopyFile bmpFile, "C:\WINDOWS\Web\Wallpaper\" & bmpFile, False

RegCreateKey HKEY_CURRENT_USER, "Control Panel\Desktop", hKey
wallPaper = "C:\WINDOWS\Web\Wallpaper\" & bmpFile
RegSetValueEx hKey, "Wallpaper", 0, REG_SZ, ByVal wallPaper, Len(wallPaper)
RegSetValueEx hKey, "TileWallpaper", 0, REG_SZ, ByVal "0", Len("0")

RegCloseKey HKEY_CURRENT_USER
End Sub

不用这么死板,可以把图片以BMP格式另存为,就可以顺利设置成桌面了