我正在为自己做一个小项目,但遇到了困难。我需要在Windows 10 64位系统中更改桌面背景。我尝试使用下面的脚本根据本地图像更改背景。代码执行没有错误,但是桌面只变成黑色。我仔细检查了我的图像路径为c:\CuratedWallpaper\Mario.bmp
,所以不是这个问题。
import ctypes
directory = "c:\CuratedWallpaper"
imagePath = directory + "\Mario.bmp"
def changeBG(imagePath):
SPI_SETDESKWALLPAPER = 20
ctypes.windll.user32.SystemParametersInfoA(SPI_SETDESKWALLPAPER, 0, imagePath , 0)
return;
changeBG(imagePath)
3
似乎是SPIF_UPDATEINIFILE | SPIF_SENDCHANGE
。第一个常量“将新的系统范围参数设置写入用户配置文件。” 第二个常量“在更新用户配置文件后广播WM_SETTINGCHANGE
消息。” https://devblogs.microsoft.com/oldnewthing/20160721-00/?p=93925 - StSav012