免费的壁纸软件竟有许多广告,影响自己体验?
那就使用python自己制作一个小软件满足自己的需求!
效果是一样的,只是exe文件更适合小白。
会在文末放软件的下载地址。
用到的库有:win32api、win32con、win32gui、pathlib、time、random
其基本原理就是利用电脑注册表、调用 windows 有关API。
==具体作用在代码中体现,附注释==
# -*- coding: UTF-8 -*-
'''
# @Time: 2021/8/4 13:14
# @Author: 远方的星
# @CSDN: https://blog.csdn.net/qq_44921056
'''
import time
import random
import win32api
import win32con
import win32gui
from pathlib import Path
def Windows_initialization(paper_path):
# 打开注册表
key = win32api.RegOpenKeyEx(win32con.HKEY_CURRENT_USER, "Control panel\\Desktop", 0, win32con.KEY_SET_VALUE)
# 在注册表中写入属性值
win32api.RegSetValueEx(key, "wapaperStyle", 0, win32con.REG_SZ, "2") # 经过多次调试,发现参数“2”和“0”这样搭配效果最好
win32api.RegSetValueEx(key, "Tilewallpaper", 0, win32con.REG_SZ, "0")
# 刷新桌面
win32gui.SystemParametersInfo(win32con.SPI_SETDESKWALLPAPER, paper_path, win32con.SPIF_SENDWININICHANGE)
def paper_switch():
time_switch = float(input("请输入壁纸更换时间的间隔(单位:min ):"))
time_switch = time_switch * 60
path = input("请输入你保存壁纸的路径(如:D:\图片):")
choice = input("请选择壁纸切换规律(O代表固定切换,R代表随机切换):")
key = input("输入Y即可运行,关闭控制台即可停止壁纸切换,你准备好了吗?")
p = Path(r'{}'.format(path))
img_s = list(p.glob('**/*.jpg'))
wallpaper = list() # 定义一个空列表放壁纸
if choice == 'O': # 固定切换
for img in img_s:
wallpaper.append(str(img))
elif choice == 'R': # 随机切换
for img in img_s:
wallpaper.append(str(img))
random.shuffle(wallpaper)
num = 0 # 用于控制壁纸更换
while key == 'Y':
Windows_initialization(wallpaper[num])
time.sleep(time_switch) # 控制壁纸切换时间
num += 1
if num == len(wallpaper): # 用于循环,即壁纸到了最后一张,则切换到第1张
num = 0
def main():
paper_switch()
if __name__ == '__main__':
main()
下载的文件里面,还附带了一个简单的==软件用户指南==
下载地址传送门: 传送门
如果对你有帮助,还请点个赞赞呀~~~
作者:远方的星 CSDN:https://blog.csdn.net/qq_44921056
本文仅用于交流学习,未经作者允许,禁止转载,更勿做其他用途,违者必究。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。