其实 Python 设置电脑桌面壁纸是很简单的,主要是调用 win32gui  这个库来实现的

代码如下:

import win32api
import win32con
import win32gui def setWindowsImage(imgPath):
# 打开注册表
k = win32api.RegOpenKeyEx(win32con.HKEY_CURRENT_USER, 'Control panel\\Desktop', 0, win32con.KEY_ALL_ACCESS) # 设置项值
win32api.RegSetValueEx(k, 'Wallpaper', 0, win32con.REG_SZ, '2')
win32api.RegSetValueEx(k, 'TileWallpaper', 0, win32con.REG_SZ, '0') # 关闭注册表
win32api.RegCloseKey(k) # 刷新桌面
win32gui.SystemParametersInfo(win32con.SPI_SETDESKWALLPAPER, imgPath, win32con.SPIF_SENDWININICHANGE)

亲测是有效的,我们可以对这个功能扩展一下,写一个可以自动切换壁纸的脚本

import win32api
import win32con
import win32gui
import time
from pathlib import Path
import random def Windows_img(paperPath):
# 打开注册表
k = win32api.RegOpenKeyEx(win32con.HKEY_CURRENT_USER, 'Control panel\\Desktop', 0, win32con.KEY_ALL_ACCESS) # 设置项值
win32api.RegSetValueEx(k, 'Wallpaper', 0, win32con.REG_SZ, '2')
win32api.RegSetValueEx(k, 'TileWallpaper', 0, win32con.REG_SZ, '0') # 关闭注册表
win32api.RegCloseKey(k) # 刷新桌面
win32gui.SystemParametersInfo(win32con.SPI_SETDESKWALLPAPER, paperPath, win32con.SPIF_SENDWININICHANGE) # 更换壁纸
def changeWallpaper():
# 间隔时间,壁纸路径
changeTime = 1
path = r'd:\a' p = Path(path)
imgs = list(p.glob('**/*.jpg'))
wall_papers = []
for img in imgs:
wall_papers.append(str(img)) # 随机打乱顺序
random.shuffle(wall_papers) num = 0
while True:
Windows_img(wall_papers[num])
time.sleep(changeTime)
num += 1 if num == len(wall_papers):
num = 0 if __name__ == '__main__':
changeWallpaper()

Python设置电脑桌面壁纸的更多相关文章

  1. python实现更换电脑桌面壁纸,锁屏,文件加密方式

    python实现更换壁纸和锁屏代码 #控制windows系统 import win32api,win32con,win32gui # 可以利用python去调用dll动态库的包.嵌入式开发 from ...

  2. Win10电脑桌面壁纸自动变成黑色无法更换怎么解决

    很多用户在升级到win10之后,发现在使用过程中经常会碰到一些问题,就是电脑桌面壁纸总是会自动变成黑色,而且无法设置桌面背景壁纸,这是怎么回事呢,出现这样的问题可能是因为系统不是正版,或者是电脑设置不 ...

  3. 为你的Windows7设置动态壁纸

    From:http://www.cnblogs.com/killerlegend/p/3644014.html By KillerLegend DreamScene是Vista上的一个功能,可以让你设 ...

  4. android设置动态壁纸 (Wallpaper) 介绍

    当进入改壁纸的设置页面 但是还没有设置时 09-21 07:55:05.575: INFO/System.out(1337): service onCreate09-21 07:55:05.614: ...

  5. 使用 Python 设置数据的路径

    使用 Python 设置数据的路径 编程语言(如 Python)将反斜线 (\) 用作转义字符.例如,\n 表示换行符,\t 表示制表符.指定路径时,可使用正斜线 (/) 代替反斜线.使用两条反斜线( ...

  6. Python生成文本格式的excel\xlwt生成文本格式的excel\Python设置excel单元格格式为文本\Python excel xlwt 文本格式

    Python生成文本格式的excel\xlwt生成文本格式的excel\Python设置excel单元格格式为文本\Python excel xlwt 文本格式 解决: xlwt 中设置单元格样式主要 ...

  7. python设置检查点简单实现

    说检查点,其实就是对过去历史的记录,可以认为是log.不过这里进行了简化.举例来说,我现在又一段文本.文本里放有一堆堆的链接地址.我现在的任务是下载那些地址中的内容.另外因为网络的问题或者网站的问题, ...

  8. Python设置Excel样式

    前面已经详细讲解过使用Python对Excel表格进行读.写操作,本文主要讲解下使用Python设置Excel表格的样式. 深入学习请参考openpyxl官方文档: https://openpyxl. ...

  9. centos7 python设置虚拟环境

    virtualenv 是一个可以在同一计算机中隔离多个python版本的工具.有时,两个不同的项目可能需要不同版本的python,如 python2.6.6 / python3.0 ,但是如果都装到一 ...

  10. 利用Appium Python测试爱壁纸的登录和设置壁纸

    设置壁纸: #coding:utf-8 #Import the common package import os import unittest from appium import webdrive ...

随机推荐

  1. 【Azure 应用服务】Python3.7项目在引用pandas 模块后,部署报错 

    问题描述 参考"快速入门:在 Linux 上的 Azure 应用服务中创建 Python 应用" 文档,在App Service For Linux环境中部署Python应用,在添 ...

  2. Java 值传递+引用传递

    1 /* 2 * 3 * 方法的形参的传递机制:值传递 4 * 5 * 1.形参:方法定义时,声明的小括号内的参数 6 * 实参:方法调用时,实际传递给形参的数据 7 * 8 * 9 * 2.值传递的 ...

  3. Codeforces Round 734 (Div. 3)B2. Wonderful Coloring - 2(贪心构造实现)

    思路: 分类讨论: 当一个数字出现的次数大于等于k,那么最多有k个能被染色, 当一个数字出现的次数小于k,南那么这些数字都可能被染色 还有一个条件就是需要满足每个颜色的数字个数一样多,这里记出现次数小 ...

  4. Tiktok api接口 获取视频列表、用户详情,视频无水印数据采集

    iDataRiver平台 https://www.idatariver.com/zh-cn/ 提供开箱即用的Tiktok数据采集API,供用户按需调用. 接口使用详情请参考Tiktok接口文档 接口列 ...

  5. Kubernetes CKA考试之Killer Simulator(上)

    写在前面 个人微信公众号:密码应用技术实战 个人博客园首页:https://www.cnblogs.com/informatics/ 注:学习交流使用 CKA Simulator Kubernetes ...

  6. Rsync 备份服务搭建

    Rsync 备份服务搭建 目录 Rsync 备份服务搭建 一. 前言 二. rsync 和 sersync 2.1 rsync 基本语法 2.2 本地文件传输 2.3 ssh 远程文件传输 2.4 基 ...

  7. 软件发布时 生成发布日志文件 单点登录 getGitInfo.bat

    需求 每次发包的时候,前端是3个包,如果后期出现问题,不好回查 所以把当前项目的git信息记录下来 以便回查 第一次手动写了下,发现比较麻烦,所以写个脚本,每次发布的时候 运行下即可 上代码 软件发布 ...

  8. WPF之事件

    目录 WPF的树形结构 事件 路由事件 使用WPF内置路由事件 自定义路由事件 ButtonBase类的Click路由事件 创建一个路由事件 RoutedEventArgs的Source与Origin ...

  9. CMake的作用和价值--概念简介

    一 简介: CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程).他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似 ...

  10. MySql注入—DNS注入

    MySql注入-DNS注入 1.DNS注入原理 一.DNS注入原理 DNS注入,是通过查询相应DNS解析产生的记录日志来获取想要的数据 对于sql盲注这样的方法常常用到二分法,非常麻烦而且没有回显,要 ...