Python 仿Windows10“幻灯片放映”桌面壁纸

x33g5p2x  于2021-11-09 转载在 Python  
字(0.8k)|赞(0)|评价(0)|浏览(193)

Windows10 桌面右键菜单中,“个性化”--“背景”设置中可选择“幻灯片放映”,如下图:

用python几行代码就能仿制,调用 win32gui 模块中的函数 SystemParametersInfo 即可实现。代码如下:

import os,time,random

from win32gui import SystemParametersInfo
from win32con import SPI_SETDESKWALLPAPER as con1
from win32con import SPIF_SENDWININICHANGE as con2

def setWallPaper(imgPath):
    SystemParametersInfo(con1, imgPath, con2)

def main():
    
    path=r'C:\Windows\Web\Wallpaper\Theme1\\'
    images=[i for i in os.listdir(path)]
    
    while 1:
        img=random.choice(images)
        setWallPaper(path+img)
        time.sleep(2)
        # 快速测试,间隔定为2秒

if __name__ == '__main__':
    
    main()

另外用到了其它三个函数:

  1. os.listdir() 遍历相册文件夹,壁纸的文件名读入列表;

  2. random.choice() 随机读取列表,模仿“无序播放”;

  3. time.sleep() 播放时间间隔,在Win10中可选择“10分钟、30分钟、1小时...”。

再加个高清壁纸爬虫,在连网状态下边下载边更新壁纸就更完美了。安排!

派森特给站社区

https://bbs.csdn.net/forums/PythonTogether

↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑

欢迎加入派森特给站社区!​

2021.11.04

相关文章