前天无意发现win10的锁屏壁纸挺漂亮的,就想着能不能保存下来?网上一搜果然有资料,当时参考的连接如下

  http://jingyan.baidu.com/article/fedf07375ea25135ad897761.html

  步骤挺简单的,目录为C:\Users\XXX\AppData\Local\Packages\Microsoft.Windows.ContentDeliveryManager_XXX\LocalState\Assets。但我们最终看到是一堆乱码式的文件,加个.jpg即可访问。感觉挺麻烦的,而且不是所有的文件都是全屏壁纸!

  

  能不能写个搜索的小程序,直接点一下就自动导出壁纸呢!当然是可以的啦(不然也没这篇文章了 ⊙▂⊙)~  具体解题思路如下

  1、获取当前显示器屏幕尺寸,为后面判断是否为全屏壁纸文件做准备

             //获取显示器屏幕尺寸,用来判断全屏大小的壁纸
double height = SystemParameters.PrimaryScreenHeight;
double width = SystemParameters.PrimaryScreenWidth;

获取屏幕尺寸

  2、获取最终壁纸所在的文件夹(这里写的不太满意 囧rz)

//最终的壁纸目录
string targetPath; //获取当前用户文件夹
string userPath = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile); if (Directory.Exists(userPath + @"\AppData\Local\Packages\"))
{
foreach (var itemF in Directory.GetDirectories(userPath + @"\AppData\Local\Packages\"))
{
//由于这级目录后缀会更换,所以用固定前缀来寻找目录
if (itemF.IndexOf("Microsoft.Windows.ContentDeliveryManager") > )
{
targetPath = itemF + @"\LocalState\Assets";
}
}
}

获取壁纸目录

  3、判断是否为全屏壁纸。是则导出,不是则狗带~ (这里判断是否为有效的图片文件,比较粗暴。如果其他好的方法,欢迎指出 ♪(´▽`))

  foreach (var itemW in Directory.GetFiles(targetPath))
{
try
{
BitmapImage image = new BitmapImage(new Uri(itemW)); //这里不用用Height和Width属性判断,因为不能保证每张图片都是96dpi
if (image.PixelHeight == height && image.PixelWidth == width)
{
File.Copy(itemW, filePath + string.Format(@"\{0}.jpg", ++i), true);
}
}
catch (NotSupportedException ex)
{
//如果不是图片文件,则继续处理
continue;
}
catch (Exception ex)
{ }
}

判断并导入壁纸

  最终的程序如下,一共找了5张壁纸

  所有的结果保存在同级目录Assets下面(由程序创建的)。 当然,这几张是我测试用的,不是微软推送的,别想多! 传送门

一键搜索之Win10锁屏壁纸的更多相关文章

  1. win10锁屏壁纸文件夹位置

    Win10默认系统下载的壁纸怎么下载?在哪里找出来呢?首先我们要把系统的锁屏壁纸要设置为Windows聚焦才会自动从微软的服务器上去下载壁纸.这些都是随机下载的.每个人的都Win10 都有可能不一样. ...

  2. win10锁屏壁纸文件夹Assets中无文件问题的解决方法

    一.前言 win10在锁屏时会有很多精美的壁纸,在网上查找到win10锁屏壁纸存放目录为 : C:\Users\你的用户名\AppData\Local\Packages\Microsoft.Windo ...

  3. Win10锁屏壁纸位置

    C:\Users\MIS\AppData\Local\Packages\Microsoft.Windows.ContentDeliveryManager_cw5n1h2txyewy\LocalStat ...

  4. win10锁屏壁纸路径

    C:\Users\ShanYu\AppData\Local\Packages\Microsoft.Windows.ContentDeliveryManager_cw5n1h2txyewy\LocalS ...

  5. 快速保存Win10锁屏壁纸,收获美丽瞬间

    对于写程序而言,每天接触得最多的就是电脑了 所以保持一种开放乐观,豁达美丽的心情是十分有必要的 使用"Everything"工具,输入"LocalState\Assets ...

  6. win10开机时不显示锁屏壁纸

    win10开机壁纸存放在此目录下: C:\Users\%username%\AppData\Local\Packages\Microsoft.Windows.ContentDeliveryManage ...

  7. 提取win10默认锁屏壁纸

    win10锁屏设置为windows聚焦时锁屏会有好看的图片出现.想让一张好看的图片一直使用,就去提取出来然后设置一下. 找到C盘:用户目录下 找到你的主机名文件夹: 在查看的选项栏中将隐藏文件夹显示: ...

  8. win10锁屏或睡眠一段时间后弹不出登录框

    win10锁屏或睡眠一段时间后弹不出登录框 文:铁乐与猫 通常发生在win10更新到10周年版后发生,也就是会卡在登录状态,但不见输入登录框. 我出现这种情况的时候不是很严重,一般等久些也能出现,但问 ...

  9. Win10 锁屏图片 路径

    Win10锁屏图片非常漂亮,下面是获得这些图片的方法: 一. 找到这个路径 C:\Users\UserName\AppData\Local\Packages\Microsoft.Windows.Con ...

随机推荐

  1. JavaScript之面向对象学习八(继承)

    简介:继承是OO语言中的一个最为人津津乐道的概念.许多OO语言都支持两种继承方式:接口继承和实现继承.接口继承只继承方法签名,而实现继承则继承实际的方法. 但是JS的函数并没有签名,所以在ECMASc ...

  2. 获取extjs text列修改过 数据

    ExtJS中表格的特性简介 表格由类Ext.grid.GridPanel定义,继承自Ext.Panel,xtype为grid 表格的列信息由Ext.grid.ColumnModel定义 表格的数据存储 ...

  3. iOS7 NavigationController 右滑手势问题

    苹果一直都在人机交互中尽力做到极致,在iOS7中,新增加了一个小小的功能,也就是这个api:self.navigationController.interactivePopGestureRecogni ...

  4. 循环-21. 求交错序列前N项和

    /* * Main.c * C21-循环-21. 求交错序列前N项和 * Created on: 2014年8月18日 * Author: Boomkeeper ***********测试通过**** ...

  5. 如何在windows的DOS窗口中正常显示中文(UTF-8字符)

    打开CMD.exe命令行窗口,通过 chcp命令改变代码页 UTF-8的代码页为65001,ANSI/OEM - 简体中文 GBK为936,window default OEM - 美国为437 如果 ...

  6. php 配置文件

    <?php return array( 'TMPL_L_DELIM'=>'<{', //配置左定界符 'TMPL_R_DELIM'=>'}>', //配置右定界符 'DB ...

  7. HDU 5773 The All-purpose Zero(树状数组)

    [题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=5773 [题目大意] 给出一个非负整数序列,其中的0可以替换成任意整数,问替换后的最长严格上升序列长 ...

  8. BZOJ 1037 [ZJOI2008]生日聚会Party(单调DP)

    [题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=1037 [题目大意] 现在有n个男生,m个女生排成一行,要求不存在一个区间男女之差大于k ...

  9. hdoj 2546 饭卡(0-1背包)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2546 思路分析:该问题为0-1背包问题的变形题:问题求余额最少,设开始的余额为V,则求得用V-5可以买 ...

  10. java字符串函数及理解

    Java中的字符串也是一连串的字符.但是与许多其他的计算机语言将字符串作为字符数组处理不同,Java将字符串作为String类型对象来处理.将字符串作为内置的对象处理允许Java提供十分丰富的功能特性 ...