Я Тринг изменить фон рабочего стола с помощью Python 2.7:Изменение фона рабочего стола с Python
SPI_SETDESKWALLPAPER = 20
ctypes.windll.user32.SystemParametersInfoA(SPI_SETDESKWALLPAPER, 0, pngName, 0)
(Хотя pngName это правильный путь к изображению)
Когда я запустить скрипт ничего изменения, и когда я пытаюсь использовать его с другим изображением, он работает отлично.
Любые предложения?
p.s. Может кто-нибудь объяснить, как работает этот скрипт? Я взял его откуда-то и не совсем понял.
Спасибо!
Я ценю ваш ответ. Пробовал использовать png и jpg без везения. Если я напечатаю: ctypes.windll.user32.SystemParametersInfoA (SPI_SETDESKWALLPAPER, 0, pngName, 0) Я получаю 0, что указывает на то, что он не может найти изображение, если я не ошибаюсь. Однако я трижды проверил и ничего не нашел. Любое другое предложение? И спасибо вам за часть scond. Очень полезно Редактировать: Возможно ли, что это происходит, потому что изображение является файлом краски, сохраненным как jpg? потому что на самом деле работала оригинальная фотография из того же каталога. –
@BenL хм, тогда я предлагаю следовать обсуждению, о котором я говорил выше (взгляните на первый ответ хотя бы). Некоторые люди сообщают, что изменение размера jpg в соответствии с разрешением экрана и разрешением dpi решает проблему. SystemParametersInfoA возвращает boolean, а 0 означает, что он не может установить обои. Чтобы получить более конкретное сообщение об ошибке, вам нужно использовать [ctypes.GetLastError()] (https://docs.python.org/2/library/ctypes.html) (см. Также [MSDN] (https: // msdn .microsoft.com/en-us/library/windows/desktop/ms679360% 28v = vs.85% 29.aspx)) – vrs
Изменено dpi и разрешение, и это сработало. Благодаря! –