我一直在努力为自己编写一些会改变背景的代码。我已经完成了项目的所有其他部分,一切工作正常,但是我无法使桌面背景更改功能正常工作。这是让我头疼的代码部分:
import ctypes
ctypes.windll.user64.SystemParametersInfoW(20, 0, ImagePath, 0)
我已经看到很多人都犯了这个错误,但是我在这个站点上到处都是,尝试了许多不同的方法,现在我迷失了问题所在,或者我能做些什么。我已经检查过,我的图片路径没有问题,因此,如果我在代码中添加以下行,
from PIL import Image
im = Image.open(ImagePath)
im.show()
图像打开正常。但是背景实际上从未改变,甚至黑屏也没有。我尝试的其他操作包括将SystemParametersInfoW
更改为SystemParametersInfoA
,删除第二台显示器,禁用Windows Aero,使用jpg和png图像,使用不同的图像路径变化(带有正斜杠或反斜杠)...当我将代码提供给我的一个朋友时,他在自己的PC上对其进行了测试,并且该代码可以完美运行,而且我们俩都不知道问题出在什么地方。
几件事值得一提-打印ctypes.windll.user64.SystemParametersInfoW(20, 0, ImagePath, 0)
返回0,我使用的是Win 7,我尝试了python 3.8和3.7。
有人能说明我做错了什么吗?