我一直在尝试使用Python 2.7更改桌面背景:
SPI_SETDESKWALLPAPER = 20
ctypes.windll.user32.SystemParametersInfoA(SPI_SETDESKWALLPAPER, 0, pngName, 0)
(虽然pngName是图像的有效路径)
当我运行脚本时没有任何变化,当我尝试使用不同的图像时,它可以正常工作。
有什么建议吗?
P.S。 有人可以解释一下这个脚本的工作原理吗我从某个地方拿走它并且不太明白它。
谢谢!
答案 0 :(得分:1)
而不是使用 png 文件(我相信你正在使用它们,假设图像路径的变量名是pngName),请尝试 jpg 。似乎MS Windows不支持png作为背景图像格式(作为Linux / Mac用户,我无法自己确认,但有关详细信息,请参阅此discussion。)
关于脚本的工作原理,我可以简单地说它使用ctypes Python package来调用dlls /共享库中的函数,例如SystemParametersInfo。 SystemParametersInfo(参见MSDN page) 检索/设置某些系统范围参数的值,包括设置壁纸文件等桌面参数。有关更多见解,请参见示例三here。