我想知道是否有任何方法 - 在Python中 - 快速更改Windows 7计算机的桌面背景。现在我正在使用:Python - 快速更改桌面背景
ctypes.windll.user32.SystemParametersInfoA(20, 0, picture_path, 0)
虽然这个工程,它不是很快。我想知道是否有一些方法可以在不到一秒的时间内更新背景。
谢谢!
编辑 - 可能值得注意的是,我的目标是在很多已知图像之间快速更改背景。
我想知道是否有任何方法 - 在Python中 - 快速更改Windows 7计算机的桌面背景。现在我正在使用:Python - 快速更改桌面背景
ctypes.windll.user32.SystemParametersInfoA(20, 0, picture_path, 0)
虽然这个工程,它不是很快。我想知道是否有一些方法可以在不到一秒的时间内更新背景。
谢谢!
编辑 - 可能值得注意的是,我的目标是在很多已知图像之间快速更改背景。
如果你知道如何使用PowerShell的工作,你可以尝试做一个PowerShell功能,更改背景图片(http://social.technet.microsoft.com/Forums/en-US/w7itproui/thread/72a9b4bf-071b-47cd-877d-0c0629a9eb90):
Function Set-WallPaper($Value)
{
Set-ItemProperty -path 'HKCU:\Control Panel\Desktop\' -name wallpaper -value $value
rundll32.exe user32.dll, UpdatePerUserSystemParameters
}
,然后从蟒蛇调用PowerShell的功能:
import subprocess
subprocess.Popen([r'path/to/PowerShell/script.exe',
'-ExecutionPolicy',
'Unrestricted',
'path/to/background_image.png'], cwd=os.getcwd())
我的问题是SystemParametersInfoA没有足够快地更新背景 - 如果我试图每秒更新一次图片(即使图片已经保存并且我知道路径),那么会有一个(很显着的)延迟。我不会立即看到如何解决这个问题。 –
第一个链接已经死亡。 – nerdwaller
我不需要使用Powershell,只是将背景更改作为不同的python文件引入,并使用子进程在后台运行它!谢谢! –
@ user1019250:您是否使用'_winreg'来修改注册表?如果你退出,你可以通过ctypes调用'SystemParametersInfoA'来更新用户配置文件中的最终图像。 – eryksun