Python的模块pywin32中的win32gui.SystemParametersInfo()函数
在使用win32con.SPI_SETDESKWALLPAPER设置Wallpaper时,其第二个参数为图片路径,图片必须是BMP格式。如下:
win32gui.SystemParametersInfo(win32con.SPI_SETDESKWALLPAPER, imagepath, 1+2)
否则将报错如下:
pywintypes.error: (0, 'SystemParametersInfo', 'No error message is available')
在Python中设置桌面壁纸的方法如下:
首先需要 import win32api, win32gui, win32api, Image
然后通过以下两个函数实现:
def setWallpaperFromBMP(imagepath):
k = win32api.RegOpenKeyEx(win32con.HKEY_CURRENT_USER,"Control Panel\\Desktop",0,win32con.KEY_SET_VALUE)
win32api.RegSetValueEx(k, "WallpaperStyle", 0, win32con.REG_SZ, "") #2拉伸适应桌面,0桌面居中
win32api.RegSetValueEx(k, "TileWallpaper", 0, win32con.REG_SZ, "")
win32gui.SystemParametersInfo(win32con.SPI_SETDESKWALLPAPER,imagepath, 1+2) # convert jpg to bmp
def setWallPaper(imagePath):
bmpImage = Image.open(imagePath)
newPath = imagePath.replace('.jpg', '.bmp')
bmpImage.save(newPath, "BMP")
setWallpaperFromBMP(newPath)