2016-12-07 12 views
1

Я пытаюсь сделать изображение своего рабочего стола.
Мой путь Изображение:Почему экран моего рабочего стола черный?

#Image Path 
import random,os 
folder= r"C:\\Users\rkp10\AppData\Local\Google\Chrome\User Data\Default\Extensions\laookkfknpbbblfpciffpaejjkokdgca\0.91.6_0\backgrounds" 
a=random.choice(os.listdir(folder)) 
print(a) 

Открытие изображения:

#Opening the Image 
from PIL import Image 
file = folder+'\\'+a 
Image.open(file).show() 

Создание образа, как мой рабочий стол картинки:

#Making the image as desktop image 
import ctypes 
image_path = file 
SPI_SETDESKWALLPAPER = 20 
ctypes.windll.user32.SystemParametersInfoA(SPI_SETDESKWALLPAPER, 0, image_path, 3) 

Теперь вещь образ пути найден и также открывает изображение. Но вместо того, чтобы устанавливать открытое изображение как образ рабочего стола, он просто делает мой рабочий стол черным.

+0

хорошо, чтобы знать, что вы нашли ответ :) – ABcDexter

ответ

1

Это Виль сделать трюк:

import random,os 
import ctypes 

folder= r"C:\Users\rkp10\AppData\Local\Google\Chrome\User Data\Default\Extensions\laookkfknpbbblfpciffpaejjkokdgca\0.91.6_0\backgrounds" 
a=random.choice(os.listdir(folder)) 
print(a) file = folder+ '\\' +a 
SPI_SETDESKWALLPAPER = 20 
ctypes.windll.user32.SystemParametersInfoA(SPI_SETDESKWALLPAPER , 0, file, 3) 

Вы имели один «\» для многих в вашей папке переменной

+0

Это работало, но то, что было моей ошибкой? –

+0

У вас было одно «\» для многих в вашей переменной папки. –

+0

Динт, извините. Выясните это лучше? –

0

В этой статье: SystemParametersInfo sets wallpaper completly black (using SPI_SETDESKWALLPAPER) я думаю, объясняет проблему. Кажется, Win32Api написан для C, и поэтому ожидает строки в определенном формате - массив символов с нулевым завершением.

Не совсем уверен, как передать данные, как это в Python, но, надеюсь, это будет указывать вам в правильном направлении