————————————————————————————————
前序:
系统:Windows 10
IDE:PyCharm
Python:3.7.4
python写一个地球同步卫星图动态壁纸(第一部分)
第一部分主要是下载地球同步卫星图片到本地
第二部分主要是修改同步卫星图片的尺寸
第一部分: https://blog.csdn.net/L141210113/article/details/102624596
第二部分: https://blog.csdn.net/L141210113/article/details/102642277
————————————————————————————————
成品样例(是24小时连续变化的,我只截取中午和晚上的进行展示):
一、修改壁纸
1. 安装pywin32
说明: 这个是调用win的一些接口,可以获取分辨率,设置壁纸。
链接:https://pan.baidu.com/s/1aLxbxxSrl6YLUYbC1cppUw
提取码:ai0m
我这个是python3.7的,如果你也是我建议你直接下载我这个安装,其他版本的可能会报错。
如果python版本不对你去这里找适合的:https://github.com/mhammond/pywin32
下载后是exe直接让他自己找python位置,然后默认安装即可。
2.调用接口设置壁纸
import win32api, win32con, win32gui
import os'''换壁纸'''
def setWallPaper(imagepath='/pic/final.jpg'):keyex = win32api.RegOpenKeyEx(win32con.HKEY_CURRENT_USER, "Control Panel\\Desktop", 0, win32con.KEY_SET_VALUE)win32api.RegSetValueEx(keyex, "WallpaperStyle", 0, win32con.REG_SZ, "0")win32api.RegSetValueEx(keyex, "TileWallpaper", 0, win32con.REG_SZ, "0")win32gui.SystemParametersInfo(win32con.SPI_SETDESKWALLPAPER, os.path.abspath('.') + imagepath, win32con.SPIF_SENDWININICHANGE)if __name__ == '__main__':setWallPaper()
二、设置自动更换壁纸
如果后台进程去做不免太浪费资源,我们用windows计划任务就可以了
1.写个主文件作为程序入口
# 之前写的三个文件
import getPic
import changePic
import setWallpaperif __name__ == '__main__':getPic.crawlWallpaper()changePic.changePic()setWallpaper.setWallPaper()
2.计划任务
(1)win+R键,然后输入taskschd.msc回车
(2)创建任务
(3)设置一些基本属性
(4)触发器
10分钟还是多久自己设置
(5)操作
注: 程序本来应该是.py扩展名,但是要用pythonw.exe执行才不会有黑框框,所以要把扩展名改为.pyw
三、最后
你还可以自己更新一些功能,比如自动获取尺寸,比如初始化界面,比如自定义背景等等功能,或者去获取美国,日本的卫星图做成一张超宽壁纸。
需要源码的可以私信我。