下面一段python代碼應該從web下載BMP圖像並將其保存到磁盤,然後將壁紙更改爲下載的圖像。壁紙變化應該是永久性的,即重新啓動後不能恢復。這個函數是我使用pyinstaller編譯成二進制exe的大腳本的一部分。問題是,當我運行該程序時,應該更換壁紙的位不起作用,並且我正努力想弄明白爲什麼。有趣的是,如果我在python解釋器中運行這個確切的代碼,它按預期工作。此外,在編譯腳本的以前版本中,壁紙更換工作順利。任何意見,幫助,見解將不勝感激!使用python設置windows壁紙不工作
def wallpaper():
try:
os.chdir(launch_directory)
urllib.urlretrieve('http://www.imagehost.com/image.bmp', 'image.bmp')
ctypes.windll.user32.SystemParametersInfoA(20, 0, os.path.join(launch_directory, "image.bmp"), 1)
except:
pass
嘗試將'SystemParametersInfoA'的最後一個參數更改爲'2'('SPIF_SENDCHANGE') – 2014-10-05 10:19:27
您是否收到異常?你默默地傳遞它可能值得輸出任何可用的異常信息。檢查SystemParametersInfo的返回類型。如果找到圖像時遇到問題,那會告訴你。它應該返回TRUE。 – Brad 2014-10-04 19:11:57