2016-12-02 4 views
2

Я работаю над небольшим проектом для себя, и я ударил стену. Мне нужно изменить фон рабочего стола на Windows 10 64-bit. Я попытался использовать сценарий ниже, чтобы изменить фон на основе локального изображения. Код выполняется без ошибок, однако рабочий стол просто становится черным. Я дважды проверял, и мое изображение находится на c:\CuratedWallpaper\Mario.bmp, так что это не проблема.изменение фона рабочего стола в окнах 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

Я использую SystemParametersInfoW вместо SystemParametersInfoA так:

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

Это вопрос ANSI против строки UNICODE пути.

Это работает для меня в окнах 10.

+0

Можете ли вы объяснить последний параметр, который используете? – finngu

Смежные вопросы