zoukankan      html  css  js  c++  java
  • Python设置电脑桌面壁纸

    其实 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()
  • 相关阅读:
    Handler机制来处理子线程去更新UI线程控件
    获得某月份的天数
    listview选中没有效果
    kali或其他系统,虚拟机中不能加载镜像
    tomcat开启多个端口
    kali自定义分辨率
    Redis 安装手册
    bash检查centos服务器运行状态
    关于利用RD client远程电脑,和输入法的一些问题
    centOS下 MYSQL基本操作
  • 原文地址:https://www.cnblogs.com/shiyixirui/p/14416917.html
Copyright © 2011-2022 走看看