因为觉得 win10 锁屏页面比较好看,有时候能够根据日期变换,因此写个脚本获取锁屏页面
封面《冬天的谎言 -Snow World End-》
win10 原生锁屏
根据查阅资料,win10 的锁屏图片保存在 C:\Users\你的用户名\AppData\Local\Packages\Microsoft.Windows.ContentDeliveryManager_cw5n1h2txyewy\LocalState\Assets
,根据 win10 社区所说 cw5n1h2txyewy
是随机生成的,不过我发现的都是这个,也许其他版本的 win10 不太一样吧。这里面的文件需要添加.jpg
后缀才是我们需要的图片。
代码
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
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)
srcFilenames = set(os.listdir(src)) dstFilenames = os.listdir(dst) dstFilenames = [filename.replace('.jpg', '') for filename in dstFilenames] dstFilenames = set(dstFilenames) lackFilenames = srcFilenames - dstFilenames
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 格式存好了,可惜的是大部分图片原本就有联想的二维码或者水印。
代码
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
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)
srcFilenames = set(get_filelist(src, '.jpg')) dstFilenames = set(os.listdir(dst)) lackFilenames = srcFilenames - dstFilenames
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