8

有谁知道用 python 更改 Windows 桌面墙纸的方法,以便更改是永久性的?我找到了这段代码

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

此代码有效,但一旦您注销并再次登录,背景将恢复为原始图像。我更喜欢不需要任何注册表编辑的解决方案,如果可能的话,我想要适用于 Windows XP 和 7 的解决方案。

4

1 回答 1

3

该解决方案结合了一些评论,对我有用:

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轻松转换图像)

于 2015-06-07T18:49:05.877 回答