没有结果lin 发表于 2020-12-20 16:42

动态壁纸


1. 配置环境
安装python3环境
python3
2. 安装pywin32

3. 安装requests

4. 运行代码

新建一个test.py文件并将代码粘贴到文件保存


# encoding:utf-8
import win32gui,win32con,win32api
import os
import requests
import random
import time
from requests.packages.urllib3.exceptions import InsecureRequestWarning

requests.packages.urllib3.disable_warnings(InsecureRequestWarning)

def setWallpaper(imagepath):
    k = win32api.RegOpenKeyEx(win32con.HKEY_CURRENT_USER,"Control Panel\\Desktop",0,win32con.KEY_SET_VALUE)
    win32api.RegSetValueEx(k, "WallpaperStyle", 0, win32con.REG_SZ, "2") # 0 居中正常大小,2 拉伸铺满全屏
    win32api.RegSetValueEx(k, "TileWallpaper", 0, win32con.REG_SZ, "0")
    win32gui.SystemParametersInfo(win32con.SPI_SETDESKWALLPAPER,imagepath, 1+2)
   
if __name__ == '__main__':
    headers = {"User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.79 Safari/537.36"}
    data_url= "https://pvp.qq.com/web201605/js/herolist.json"
    response= requests.get(data_url,headers=headers,verify=False)
    if response.status_code == 200:
      json_str =response.text
      hero_list = eval(json_str)
      enames = []
      imgbox = []
      for hero in hero_list:
            ename = hero["ename"]
            number = 1
            try:
                skin_name = hero["skin_name"]
                number = len(skin_name.split("|"))
            except Exception as e:
                    pass
            for i in range(number):
                url = "https://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/" + str(ename) + '/' + str(ename)+"-bigskin-" + str(i+1) + ".jpg";
                imgbox.append(url)
      while True:
            index = random.randint(0,len(imgbox)-1)
            url = imgbox
            filename = os.getcwd()+"/"+url.split("/")[-1]
            response= requests.get(url,headers=headers,verify=False)
            imgbytes =response.content
            with open(filename,'wb') as f:
                f.write(imgbytes)
            setWallpaper(filename)
            os.remove(filename)
            time.sleep(1)


首先打开命令行,运行命令:

python test.py #python已配置环境变量

[换成自己安装路径,运行不了路径加""] D:\Python3\python.exe test.py #python未配置环境变量

6. bat运行,新建一个test.bat文件

例如:(rem[注释])


@echo off
rem bat和 py文件在同目录
python test.py
rem "D:\Python3\python.exe" test.py
rem bat和 py文件不在同目录
rem python C:\test.py
rem "D:\Python3\python.exe" D:\test.py

exit

脚本在C盘出现这个错误,需要以管理员身份运行,所有放其他盘 PermissionError: Permission denied:



然后双击

7. 运行结果(部分截图)



8. 只玩玩就行,不要长时间运行

mmcc1984 发表于 2020-12-20 19:43

capssshift 发表于 2020-12-20 18:01
动态壁纸很有意思,之前有个国产软件,可以用任意视频当壁纸的,还是感谢分享。

就是wallpaper engine

burning 发表于 2020-12-20 19:13

https://game.gtimg.cn @没有结果lin 这个不是应该本地实现吗   怎么还联网   这个网址还打不开

白天起不来 发表于 2020-12-20 20:16

来深入学习一下

排骨的自白 发表于 2020-12-20 20:09

这,我应该用不了

ayaoko 发表于 2020-12-20 19:25

学习工具,这个还是可以的

迷茫管家 发表于 2020-12-20 19:17

wallpaper engine

snluwei 发表于 2020-12-20 19:11

喜欢折腾的可以搞一下。

tinglie 发表于 2020-12-20 18:59

需要环境劝退了,不过还是支持楼主成果

qianshan3 发表于 2020-12-20 18:54

这个我搞不定

益韶 发表于 2020-12-20 18:49


看的好像很复杂似的!!!
页: [1] 2 3
查看完整版本: 动态壁纸