我想知道是否有任何方法 - 在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