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()
  • 相关阅读:
    组合模式
    C#+ArcEngine中com对象的释放问题
    备忘录模式
    C#中的DataSet添加DataTable问题
    jenkins从节点
    jenkins Publish over SSH
    jenkins凭据
    jenkins maven项目
    jenkins部署-docker
    zabbix api
  • 原文地址:https://www.cnblogs.com/shiyixirui/p/14416917.html
Copyright © 2011-2022 走看看