2016-12-02 61 views
2

私は自分のために小さなプロジェクトを進めています。私は壁に当たっています。私はWindows 10 64ビットでデスクトップの背景を変更する必要があります。私はローカルイメージに基づいて背景を変更するために、以下のスクリプトを使用しようとしました。コードはエラーなく実行されますが、デスクトップはただ黒くなります。私はダブルチェックして、私の画像はc:\CuratedWallpaper\Mario.bmpにあるので、それは問題ではありません。Windows 10のデスクトップ背景をPythonで変更する

import ctypes 

directory = "c:\CuratedWallpaper" 
imagePath = directory + "\Mario.bmp" 

def changeBG(imagePath): 
    SPI_SETDESKWALLPAPER = 20 
    ctypes.windll.user32.SystemParametersInfoA(SPI_SETDESKWALLPAPER, 0, imagePath , 0) 
    return; 

changeBG(imagePath) 

答えて

1

私はこのような代わりSystemParametersInfoAのSystemParametersInfoWを使用します。

ctypes.windll.user32.SystemParametersInfoW(20, 0, path, 3)

それはUNICODEのパス文字列対ANSIの問題です。

これはWindows 10で動作します。

+0

使用している最後のパラメータについて説明できますか? – finngu

関連する問題