首页 > 其他分享 >win10 锁屏页面获取

win10 锁屏页面获取

时间:2023-04-22 11:34:30浏览次数:43  
标签:src dst 锁屏 filename win10 path os 页面

因为觉得 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

标签:src,dst,锁屏,filename,win10,path,os,页面
From: https://www.cnblogs.com/ministep/p/17342677.html

相关文章

  • 微信小程序:uni-app页面Page和组件Component生命周期执行的先后顺序
    目录H5微信小程序测试代码文档页面生命周期https://uniapp.dcloud.net.cn/tutorial/page.html#lifecycle组件生命周期https://uniapp.dcloud.net.cn/tutorial/page.html#componentlifecycle经测试,得出结论:H5和微信小程序的生命周期函数调用顺序不一致H5pagebeforeCreatepag......
  • React+hook+ts+ant design封装一个具有编辑和新增功能的页面
    前言我是歌谣我有个兄弟巅峰的时候排名c站总榜19叫前端小歌谣曾经我花了三年的时间创作了他现在我要用五年的时间超越他今天又是接近兄弟的一天人生难免坎坷大不了从头再来歌谣的意志是永恒的放弃很容易但是坚持一定很酷微信公众号前端小歌谣需求分析在前端项目中最常......
  • 关于Nginx作为http-web服务器时对404错误页面的配置
    当我们访问一下Ngin部署的网站时,如果访问一个不存在的资源时,默认服务端会返回404错误,如下所示其实这个页面,我们也是可以自己创建一个页面作为404的返回的,可以通过即可以通过error_page code ...[=[response]] uri;进行配置其他说明:关于error_page指定能写的位置段为:ht......
  • 如何有效的关闭Win10自动更新?(5种方法)
    转载自如何有效的关闭Win10自动更新?(5种方法)-littlefat-博客园(cnblogs.com)想寻找Win10关闭自动更新方法?对于Win10用户经常会遇到系统提示更新,很多用户都因其而烦恼。有时选择拒绝更新,系统会一直不停的提示系统更新;选择更新了,更新后一些软件或网络打印机等相关设备又无法使......
  • ASP.NET点击按钮回车提交web页面回车提交点击回车按钮提交
    ASP.NET回车提交事件其实说到底并不是ASP.NET的编程问题,却是关于htmlform中的submit按钮就是如何规划的具体讨论。也可归于ASP.NET编程的一部分,那么ASP.NET回车提交事件的具体实现是怎么样的呢?下面我们具体的看下:ASP.NET回车提交事件实现1、当你的光标焦点进入某个表单元素......
  • C#基础 Process Start 运行浏览器打开指定页面
     .NETFramework:4.7.2       IDE:VisualStudioCommunity2019        OS:Windows10x64    typesetting:Markdown codeusingSystem;usingSystem.Diagnostics;namespaceConsoleApp{classProgram{staticvoidMain(stri......
  • 下载App页面
    目录说明代码说明下载app页面,在微信中分享,很容易被拦截。这里作了一个处理,当在微信中打开链接,自动跳转到浏览器中打开提示下载。代码<!DOCTYPEhtml><html><head><metacharset="utf-8"/><title>XXX客户端</title><styletype="text/css">.......
  • 微信小程序隐藏页面滚动条
    开发小程序时,经常会碰到页面长度超过屏幕高度,然后下拉时会出现滚动条,对于一些有强迫症的人来说是不可忍受的。网上看了好多,写的。都评论有起作用或者不起作用的。我在这分享一个全局隐藏滚动条的方式。样式代码我们在app.wxss中,写一个类选择器: .contain{height:100vh;......
  • [JavaScript][页面定位]锚的简单使用
     [页面定位]锚的简单使用 1.使用window.location.hash定位到指定的锚1.<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.0Transitional//EN">2.<HTML>3.<HEAD>4.<TITLE>NewDocument</TITLE>5.<METANAME="Generator"CONTENT=&q......
  • jmeterGUI页面数据分析
    转载:http://www.cnblogs.com/leeboke/p/5238269.html参考资料:https://girliemangalo.wordpress.com/2009/10/29/jmeter-run-scripts-from-the-console/结果分析参见:http://www.cnblogs.com/miaomiaokaixin/p/6114756.htmlsummary+ 91773in00:00:06=15787.5/sAvg:   ......