好友
阅读权限10
听众
最后登录1970-1-1
|
代码如下,问题是我下载好了壁纸,通过修改注册表也设置了壁纸,也更新了,但是实际桌面壁纸会灰屏,必须在运行一次,哪里的问题?求教
import time,os,requests,win32api,win32gui,win32con
os.chdir(r'F:\bing每日图片')#指定存储目录
Timestamp=time.strftime("%Y-%m-%d",time.localtime())#获取 当前时间戳 年月日
headers={
'Referer':'https://cn.bing.com/',
'Sec-Fetch-Mode':'no-cors',
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36'
}#模拟电脑,设置请求头
r=requests.get('https://cn.bing.com',headers=headers)#将网页转换为文本文档
print(r.status_code)
if r.status_code==200:
id=r.text.split('href="/th?id=')[1].split('&')[0]#获取图片ID,掐头去尾
picid=requests.get('https://cn.bing.com/th?id='+id+'&rf=LaDigue_1920x1080.jpg&pid=hp',headers=headers).content#将图片转为二进制数据
pic=open(Timestamp+'.jpg','wb')#新建一个图片
pic.write(picid)#将图片的二进制数据写入图片
pic.close#关闭进程
time.sleep(1)#延时1毫秒
k=win32api.RegOpenKeyEx(win32con.HKEY_CURRENT_USER,"Control Panel\\Desktop",0,win32con.KEY_SET_VALUE)#打开桌面菜单栏
win32api.RegSetValueEx(k,"WallPaper",0,win32con.REG_SZ, "D:\\bing每日图片"+'\\'+Timestamp+'.jpg')#设置壁纸
time.sleep(5)
win32gui.SystemParametersInfo(win32con.SPI_SETDESKWALLPAPER)#设置注册表之后立即生效
else:
win32api.MessageBox(0,'无法连接网络','警告',win32con.MB_OK|win32con.MB_ICONWARNING)#弹出警告消息框
|
免费评分
-
查看全部评分
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|