Python与Windows桌面
Python更换windows桌面
前言
每天下班,有时候会留下一些事情需要明天更进
为了防止忘记,之前会写在txt里面

就算txt放在显眼的位置,有时候还是会忘记
所以想要将文本输出到桌面壁纸上,加粗高亮,这样就不会忘了
准备工作
有一些库的下载可能会很慢,所以推荐使用阿里云镜像
对于网络好的用户,这一步可以跳过
升级pip版本
python -m pip install --upgrade pip
设置阿里云镜像
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/
取消使用阿里云镜像
pip config unset global.index-url
代码
Python官方文档
https://docs.python.org/3/library/ctypes.html
ctypes是 Python 的外部函数库。它提供 C 兼容的数据类型,并允许调用 DLL 或共享库中的函数。它可用于将这些库包装在纯 Python 中。
pip install pillow
import ctypes
from PIL import Image, ImageFont, ImageDraw
def change_wallpaper():
# path 桌面壁纸路径
path = "C:\Windows\Web\Wallpaper\Theme1\img2.jpg"
img = Image.open(path)
# 选择字体样式 大小 颜色
font = ImageFont.truetype("C:\Windows\Fonts\msyh.ttc", 120)
color = (66, 66, 66)
# txt_path txt文件位置 我放在桌面 r表示不认为\为转义符
txt_path = r"C:\Users\Zzz\Desktop\rember.txt"
# 记录txt中内容 放在list中
word = []
with open(txt_path, encoding='utf-8') as file:
for line in file.readlines():
word.append(line)
draw = ImageDraw.Draw(img)
width = img.width
fixed_with = width / 5
total = 1
# fixed_with 文字所在x轴起始位置
for message in word:
start_height = 100
# changed_height 文字所在y轴高度
# 155 : 文字之间间隔 可以参考font字体大小
changed_height = start_height + total * 155
# 将txt中文字写入图片 x,y轴位置
position = (fixed_with, changed_height)
draw.text(position, message, color, font=font)
# 写一行 空一行
position = (fixed_with, changed_height + 155)
draw.text(position, "", color, font=font)
total = total + 2
# file_name 生成图片存放位置
file_name = r"C:\Users\Zzz\Desktop\background.png"
img.save(file_name)
# 设置壁纸
ctypes.windll.user32.SystemParametersInfoW(20, 0, file_name, 0) # 设置桌面壁纸
if __name__ == '__main__':
change_wallpaper()
效果展示
- 文档中信息

- 壁纸效果

Tips-如何更有仪式感
- 桌面上新建一个txt

- 写入两行脚本
cmd /c python D:\a_projects\python\day_1\com\lizi\background.py
del C:\Users\Zzz\Desktop\background.png
cmd /c : 打开cmd窗口 运行完关闭
python D:\a_projects\python\day_1\com\lizi\background.py :用python执行文件
del C:\Users\Zzz\Desktop\background.png : 删除生成的图片
3. 将txt后缀 改为bat

每天更新完rember.txt后 双击bat脚本 就能自动替换桌面壁纸了
Python与Windows桌面的更多相关文章
- Python基础系列讲解-自动控制windows桌面
原链接:https://zhuanlan.zhihu.com/p/73001806 在使用PC时与PC交互的主要途径是看屏幕显示.听声音,点击鼠标和敲键盘等等.在自动化办公的趋势下,繁琐的工作可以让程 ...
- [翻译].NET Core 3 Preview1和Windows桌面框架开源
原文来自TechViews 今天,我们宣布推出.NET Core 3 Preview 1.这是.NET Core 3的第一个公开发布.我们有一些令人兴奋的新功能可供分享,并希望得到您的反馈.您可以使用 ...
- Python编写的桌面图形界面程序实现更新检测和下载安装
在Python中我们有很多种方案来编写桌面图形用户界面程序,譬如内置的 Tkinter .强大的 PyQt5 和 PySide2 ,还有 wxPython .借助这些或内置或第三方的模块,我们可以轻松 ...
- 实用 | 利用 aardio 配合 Python 快速开发桌面应用
1. 前言 大家好,我是安果! 我们都知道 Python 可以用来开发桌面应用,一旦功能开发完成,最后打包的可执行文件体积大,并且使用 Python 开发桌面应用周期相对较长 假如想快速开发一款 PC ...
- 使用Python写Windows Service服务程序
1.背景 如果你想用Python开发Windows程序,并让其开机启动等,就必须写成windows的服务程序Windows Service,用Python来做这个事情必须要借助第三方模块pywin32 ...
- python 基于windows环境的ftp功能
描述: 1.基于备份服务器部署的py程序,将需要备份主机目录下的内容下载至备份服务器(服务端和远端都是windows server 2008) 2.py程序部署在windows服务器,后台运行,基于b ...
- 关于Python 获取windows信息收集
收集一些Python操作windows的代码 (不管是自带的or第三方库)均来自网上 1.shutdown 操作 定时关机.重启.注销 #!/usr/bin/python #-*-coding:utf ...
- Cocos2dx集成于windows桌面窗口程序的步骤
2D游戏需要做编辑器,而编辑器总是希望可以复用游戏中的逻辑来运行场景试看效果. 对于cocos2dx开发的程序,这个需求可以描述为: 实现一种方法,在桌面窗口程序中的某个控件上显示cocos2dx的场 ...
- python安装(windows)
1.python安装(windows) 1.1 下载安装包 https://www.python.org/downloads/ 1.2 安装 python2.7默认安装路径:C:\python27 注 ...
随机推荐
- Linux ssh协议
基础知识 ssh:secure shell protocol,安全的远程登录 作用:是建立在应用层基础上的安全协议,实现数据传输过程中数据的加密,代替telent协议 使用tcp协议,端口号为22 s ...
- 基于python3.7利用Motor来异步读写Mongodb提高效率
原文转载自「刘悦的技术博客」https://v3u.cn/a_id_111 如果使用Python做大型海量数据批量任务时,并且backend用mongodb做数据储存时,常常面临大量读写数据库的情况. ...
- 鲜衣怒马散尽千金,Vue3.0+Tornado6前后端分离集成Web3.0之Metamask钱包区块链虚拟货币三方支付功能
原文转载自「刘悦的技术博客」https://v3u.cn/a_id_219 不得不承认,大多数人并不拥有或者曾经拥有加密货币.是的,Web3.0.加密货币.区块链,对于大多数的互联网用户来说,其实是一 ...
- pat甲级考试+pat1051+1056
同上一篇博客: 贪心题目我已经刷了将近30道了,由于那几天考驾照就没写,以后有空的时候补过来吧,都在codeblock里 pat的题也刷了点,acwing 的题也刷了点,基本都攒下了.以后也会慢慢补过 ...
- 使用.NET简单实现一个Redis的高性能克隆版(三)
译者注 该原文是Ayende Rahien大佬业余自己在使用C# 和 .NET构建一个简单.高性能兼容Redis协议的数据库的经历. 首先这个"Redis"是非常简单的实现,但是他 ...
- Python爬虫:为什么你爬取不到网页数据
前言: 之前小编写了一篇关于爬虫为什么爬取不到数据文章(文章链接为:Python爬虫经常爬不到数据,或许你可以看一下小编的这篇文章), 但是当时小编也是胡乱编写的,其实里面有很多问题的,现在小编重新发 ...
- LuoguP4719 【模板】动态 DP(动态DP,LCT)
\(n \times m\)的算法谁都会吧,注意到每次修改影响的仅是一部分的信息,因此可思考优化. 将每个节点对应一个矩阵\(\begin{bmatrix} g[v][0] & g[v][0] ...
- Luogu2420 让我们异或吧 (熟练剖分)
\(dis[u] \bigoplus dis[v] = dis[u] \bigoplus dis[v] \bigoplus dis[lca\{x,y\}] \bigoplus dis[lca\{x,y ...
- Taurus.MVC 微服务框架 入门开发教程:项目部署:2、让Kestrel支持绑定多个域名转发,替代Ngnix使用。
系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 本系列第一篇:Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单 ...
- 部署前后端为独立的 Docker 节点
在『服务器部署 Vue 和 Django 项目的全记录』一文中,介绍了在服务器中使用 Nginx 部署前后端项目的过程.然而,当 Web 应用流量增多时,需要考虑负载均衡.流量分发.容灾等情况,原生的 ...