从Python更改Windows背景

有没有人知道一种方式来改变Windows桌面壁纸与python,这样的变化是永久的? 我find了这个代码

import ctypes SPI_SETDESKWALLPAPER = 20 ctypes.windll.user32.SystemParametersInfoA(SPI_SETDESKWALLPAPER, 0, "myimage.jpg" , 0) 

此代码有效,但是一旦您注销并再次login,背景将回到原始图像。 我更喜欢一个不需要任何registry编辑的解决scheme,如果可能的话,我希望能在Windows XP和7上运行。

这个解决方案结合了几个意见,并为我工作:

 import ctypes import os drive = "C:\\" folder = "images" image = "test.jpg" image_path = os.path.join(drive, folder, image) SPI_SETDESKWALLPAPER = 20 ctypes.windll.user32.SystemParametersInfoA(SPI_SETDESKWALLPAPER, 0, image_path, 3) 

(注意,你应该确定你的图像的绝对路径,并根据需要进行更改,如果你需要在XP上使用它,也可以将图像转换为BMP,你可以使用Pillow轻松转换图像)