2016-12-02 2 views
2

Ich arbeite an einem kleinen Projekt für mich selbst und ich traf eine Wand. Ich muss den Desktop-Hintergrund auf Windows 10 64-Bit ändern. Ich habe versucht, das folgende Skript zu verwenden, um den Hintergrund basierend auf einem lokalen Bild zu ändern. Der Code wird ohne Fehler ausgeführt, der Desktop wird jedoch nur schwarz. Ich habe es überprüft und mein Bild ist um c:\CuratedWallpaper\Mario.bmp, so dass das nicht das Problem ist.Ändern Desktop-Hintergrund in Windows 10 über 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) 

Antwort

1

Ich benutze SystemParametersInfoW statt SystemParametersInfoA wie folgt aus:

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

Es ist eine Frage der ANSI vs UNICODE Pfadzeichenfolge.

Es funktioniert für mich in Windows 10.

+0

Können Sie den letzten Parameter, den Sie verwenden, erklären? – finngu