python设置桌面壁纸后重启电脑失效解决方案

目录

原因分析

查看注册表

通过代码修改注册表 

设置桌面壁纸

修改注册表

另外一种写法

注意事项


原因分析

当我们通过python设置桌面壁纸后,重启电脑会变回原来的壁纸。python的ctypes模块更改壁纸后并不会修改注册表的内容,所以我们在设置好壁纸之后需要将注册表中桌面壁纸的值也一并修改。

查看注册表

 我们打开注册表,找到如下目录:

HKEY_CURRENT_USER\Control Panel\Desktop

 点开之后找到 WallPaper,这个就是壁纸的关键参数。

 

通过代码修改注册表 

我们接下来通过代码来实现更改注册表内容。

设置桌面壁纸

这是之前设置桌面壁纸的代码

ctypes.windll.user32.SystemParametersInfoW(20, 0, imgLink, 0)

修改注册表

然后我们在这段代码之后加上注册表修改的代码,使用win32conwin32api模块,需要安装pywin32.

Hkey = win32api.RegCreateKey(win32con.HKEY_CURRENT_USER, r'Control Panel\Desktop')
win32api.RegSetValueEx(Hkey, 'WallPaper', 0, win32con.REG_SZ, imgLink)
win32api.RegCloseKey(Hkey)

另外一种写法

还有一种写法是需要使用winreg模块.

Hkey = winreg.CreateKey(winreg.HKEY_CURRENT_USER, r'Control Panel\Desktop')
winreg.SetValueEx(Hkey, 'WallPaper', 0, winreg.REG_SZ, imgLink)
winreg.CloseKey(Hkey)

注意事项

上面代码中的imgLink是图片的绝对路径,也就是完整的路径,不能填写项目文件夹下的路径以及虚拟路径。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

慕慕慕慕公子

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值