网站更新内容:请访问: https://bigdata.ministep.cn/

win10 锁屏页面获取

因为觉得 win10 锁屏页面比较好看,有时候能够根据日期变换,因此写个脚本获取锁屏页面
封面《冬天的谎言 -Snow World End-》

win10 原生锁屏

根据查阅资料,win10 的锁屏图片保存在 C:\Users\你的用户名\AppData\Local\Packages\Microsoft.Windows.ContentDeliveryManager_cw5n1h2txyewy\LocalState\Assets,根据 win10 社区所说 cw5n1h2txyewy 是随机生成的,不过我发现的都是这个,也许其他版本的 win10 不太一样吧。这里面的文件需要添加.jpg 后缀才是我们需要的图片。

代码

PYTHON
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import os
import shutil
import argparse

# win10 screen lock version

src = os.path.expanduser(
    "~\AppData\Local\Packages\Microsoft.Windows.ContentDeliveryManager_cw5n1h2txyewy\LocalState\Assets")

dst = os.path.expanduser("~\Pictures\Saved Pictures\lock")

if __name__ == '__main__':
    parser = argparse.ArgumentParser()
    parser.add_argument('-d', '--dst', help='dst path', type=str, default=dst)
    args = parser.parse_args()

    dst = args.dst

    if not os.path.exists(dst):
        os.mkdir(dst)

    # remove duplicate filename
    srcFilenames = set(os.listdir(src))
    dstFilenames = os.listdir(dst)
    dstFilenames = [filename.replace('.jpg', '') for filename in dstFilenames]
    dstFilenames = set(dstFilenames)
    lackFilenames = srcFilenames - dstFilenames

    # copy file
    for filename in lackFilenames:
        srcFile = os.path.join(src, filename)
        dstFile = os.path.join(dst, filename)+'.jpg'
        shutil.copyfile(srcFile, dstFile)

Lenovo 锁屏

联想电脑助手会接管 win10 的原生锁屏,通过 everything 观察文件变化可以查到联想锁屏的位置在 C:\ProgramData\Lenovo\devicecenter\LockScreen\cache,且以 jpg 格式存好了,可惜的是大部分图片原本就有联想的二维码或者水印。

代码

PYTHON
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
import os
import shutil
import argparse

# lenovo screen lock version

src = "C:\ProgramData\Lenovo\devicecenter\LockScreen\cache"

dst = os.path.expanduser("~\Pictures\Saved Pictures\lock")


def get_filelist(dir, extract):
    filelist = []
    filenames = os.listdir(dir)
    for filename in filenames:
        ext = os.path.splitext(filename)[-1]
        if ext == extract:
            filelist.append(filename)
    return filelist


if __name__ == '__main__':

    parser = argparse.ArgumentParser()
    parser.add_argument('-d', '--dst', help='dst path', type=str, default=dst)
    parser.add_argument('-s', '--src', help='src path', type=str, default=src)
    args = parser.parse_args()

    dst = args.dst
    src = args.src

    if not os.path.exists(src):
        exit("src path not found")

    if not os.path.exists(dst):
        os.mkdir(dst)

    # ignore zip
    srcFilenames = set(get_filelist(src, '.jpg'))
    dstFilenames = set(os.listdir(dst))
    # remove duplicate filename
    lackFilenames = srcFilenames - dstFilenames

    # copy file
    for filename in lackFilenames:
        srcFile = os.path.join(src, filename)
        dstFile = os.path.join(dst, filename)
        shutil.copyfile(srcFile, dstFile)

开机自启动

开机自启动只需要将脚本放在 C:\Users\你的用户名\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup 文件夹,经过个人电脑测试,powershell 可以直接运行 python 脚本,如果不行,可以写 bat 脚本进行处理。

总结

目前现在暂时使用 lenovo 的程序,后面考虑爬取图片更换。目前代码仓库在 repo

posted @ 2023-04-22 11:27  ministep88  阅读(71)  评论(0)    收藏  举报
网站更新内容:请访问:https://bigdata.ministep.cn/