Python —— 修改桌面壁纸

开发环境


     Vs2017、Python3

     注意,python调用了win32api,所以需要执行安装命令:pip install pywin32


代码1

     此方式,利用winAPI可以完成。

import win32api, win32gui, win32api, win32con
import time

#import cv2
def setWallPaper(pic):
    # open register
    print(pic)
    regKey = win32api.RegOpenKeyEx(win32con.HKEY_CURRENT_USER,"Control Panel\\Desktop",0,win32con.KEY_SET_VALUE)
    win32api.RegSetValueEx(regKey,"WallpaperStyle", 0, win32con.REG_SZ, "2")
    win32api.RegSetValueEx(regKey, "TileWallpaper", 0, win32con.REG_SZ, "0")
    # refresh screen
    win32gui.SystemParametersInfo(win32con.SPI_SETDESKWALLPAPER,pic, 1+2)



if __name__=='__main__':

    pic="C:/Users/Administrator/Desktop/bmp.bmp" #写绝对路径

    setWallPaper(pic)

    #img = cv2.imread(pic) 
    #cv2.imshow("Image", img) 
代码2

     此方式,利用查找桌面句柄、+SDL可以完成。

     备注:若spyxx查找出的桌面句柄为Progman的话需要按win+tab切换到WorkerW模式下才能正常找到桌面句柄,

##2022-01-07~~~~~动态桌面
##################by Ljj
##程序必须用win+tad使能系统的workerw中间层控件模式
##中间意外退出,二次运行sdlRenderer会使能失效,是因为没有很好的退出,二次运行就可以
##如果打开VC的软件跑一次,二次运行sdlRenderer则不会出错,很奇怪,未解之谜,但是我认为是SDL的底层冲突
##~~~~~~2天,还是卡卡顿顿的,底层图像渲染与播放五日
    
#-*- coding: utf-8 -*-  ##设置编码方式

import win32gui, win32api, win32con
import os,cv2,time
import sdl2.ext


def setWallPaper(pic):
    #通过
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

信必诺

嗨,支持下哥们呗。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值