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()
  • 相关阅读:
    mysql整理-常用sql语句
    WAMP中的mysql设置密码
    cmd中输入net start mysql 提示:服务名无效或者MySQL正在启动 MySQL无法启动
    “laravel.log” could not be opened: failed to open stream
    RESTful API 设计指南
    理解RESTful架构
    PHP:API 接口规范完整版本
    php的api接口
    laravel5.5部署
    《面向对象程序设计》课程作业二
  • 原文地址:https://www.cnblogs.com/shiyixirui/p/14416917.html
Copyright © 2011-2022 走看看