【发布时间】:2013-10-30 18:32:58
【问题描述】:
我发现以下命令可以使用 Python 设置 Windows 桌面壁纸:
ctypes.windll.user32.SystemParametersInfoA(0x14, 0, 'C:\somepic.jpg', 0)
不幸的是,壁纸没有像我预期的那样改变。
我错过了什么吗?还是有其他方法可以(永久)更改 Windows 壁纸?
谢谢。
编辑:
找到了这个解决方案:
cmd = "REG ADD \"HKCU\Control Panel\Desktop\" /v Wallpaper /t REG_SZ /d D:\30-10-2013.jpg" #changes the Registry Key "Wallpaper"
subprocess.call(cmd)
subprocess.call("rundll32.exe user32.dll, UpdatePerUserSystemParameters") #To update the Wallpaper
问题: 通过检查您看到的注册表条目,Python 将 encoding 弄乱了,因为它删除了 \30 并用一个小框(如 [] )替换它。
(通过在 Windows 运行对话框中插入这些命令来工作。)
如何解决这个编码问题?
【问题讨论】:
标签: python windows python-3.x wallpaper