首页 > 电脑专区 > 电脑教程 >

提取windows聚焦图片作为桌面壁纸的方法

来源:互联网 2023-02-20 23:43:15 138

微软在 Windows 10 上新增了一项功能 Windows 聚焦 (Windows Spotlight),它会自动随机下载并更换锁屏界面的壁纸 (Lockscreen),让你每次打开电脑都有不一样的视觉享受。这些高清锁屏壁纸往往都很精美,很多视觉冲击力十足,非常值得收藏。但很多同学想将这些壁纸设为桌面,却不知道怎样下载保存Win10的锁屏壁纸。css办公区 - 实用经验教程分享!

工具/原料

  • 电脑一台
  • Powershell和任务计划程

方法/步骤

  • 1

    打开一个文本文件,复制以下代码,保存后缀为.ps1,命名为SetWallPaperFromSpotlight.ps1,然后右键“使用powershell运行”就可以发现桌面壁纸已经被设置为了最新的图片。所有的聚焦图片都被复制到你自己的用户文件夹下的Spotlight文件夹。比如我的是在:“C:\Users\Anymake\Pictures\Spotlight”。这样你就有了一个手动提取并设置最新图片为桌面壁纸的方法。下面第二步介绍每天电脑自动设置的方法。css办公区 - 实用经验教程分享!

  • 2

    #将复制出来的缓存图片保存在下面的文件夹css办公区 - 实用经验教程分享!

    add-type-AssemblyNameSystem.Drawingcss办公区 - 实用经验教程分享!

    New-Item"$($env:USERPROFILE)\Pictures\Spotlight"-ItemTypedirectory-Force;css办公区 - 实用经验教程分享!

    New-Item"$($env:USERPROFILE)\Pictures\Spotlight\CopyAssets"-ItemTypedirectory-Force;css办公区 - 实用经验教程分享!

    New-Item"$($env:USERPROFILE)\Pictures\Spotlight\Horizontal"-ItemTypedirectory-Force;css办公区 - 实用经验教程分享!

    New-Item"$($env:USERPROFILE)\Pictures\Spotlight\Vertical"-ItemTypedirectory-Force;css办公区 - 实用经验教程分享!

    css办公区 - 实用经验教程分享!

    #将横竖图片分别复制到对应的两个文件夹css办公区 - 实用经验教程分享!

    foreach($filein(Get-Item"$($env:LOCALAPPDATA)\Packages\Microsoft.Windows.ContentDeliveryManager_cw5n1h2txyewy\LocalState\Assets\*"))css办公区 - 实用经验教程分享!

    {css办公区 - 实用经验教程分享!

    if((Get-Item$file).length-lt100kb){continue}css办公区 - 实用经验教程分享!

    Copy-Item$file.FullName"$($env:USERPROFILE)\Pictures\Spotlight\CopyAssets\$($file.Name).jpg";css办公区 - 实用经验教程分享!

    }css办公区 - 实用经验教程分享!

    css办公区 - 实用经验教程分享!

    foreach($newfilein(Get-Item"$($env:USERPROFILE)\Pictures\Spotlight\CopyAssets\*"))css办公区 - 实用经验教程分享!

    {css办公区 - 实用经验教程分享!

    $image=New-Object-comObjectWIA.ImageFile;css办公区 - 实用经验教程分享!

    $image.LoadFile($newfile.FullName);css办公区 - 实用经验教程分享!

    if($image.Width.ToString()-eq"1920"){Move-Item$newfile.FullName"$($env:USERPROFILE)\Pictures\Spotlight\Horizontal"-Force;}css办公区 - 实用经验教程分享!

    elseif($image.Width.ToString()-eq"1080"){Move-Item$newfile.FullName"$($env:USERPROFILE)\Pictures\Spotlight\Vertical"-Force;}css办公区 - 实用经验教程分享!

    }css办公区 - 实用经验教程分享!

    css办公区 - 实用经验教程分享!

    #壁纸设置函数css办公区 - 实用经验教程分享!

    functionSet-Wallpapercss办公区 - 实用经验教程分享!

    {css办公区 - 实用经验教程分享!

    param(css办公区 - 实用经验教程分享!

    [Parameter(Mandatory=$true)]css办公区 - 实用经验教程分享!

    $Path,css办公区 - 实用经验教程分享!

    css办公区 - 实用经验教程分享!

    [ValidateSet('Center','Stretch')]css办公区 - 实用经验教程分享!

    $Style='Center'css办公区 - 实用经验教程分享!

    )css办公区 - 实用经验教程分享!

    css办公区 - 实用经验教程分享!

    Add-Type@"css办公区 - 实用经验教程分享!

    usingSystem;css办公区 - 实用经验教程分享!

    usingSystem.Runtime.InteropServices;css办公区 - 实用经验教程分享!

    usingMicrosoft.Win32;css办公区 - 实用经验教程分享!

    namespaceWallpapercss办公区 - 实用经验教程分享!

    {css办公区 - 实用经验教程分享!

    publicenumStyle:intcss办公区 - 实用经验教程分享!

    {css办公区 - 实用经验教程分享!

    Center,Stretchcss办公区 - 实用经验教程分享!

    }css办公区 - 实用经验教程分享!

    publicclassSetter{css办公区 - 实用经验教程分享!

    publicconstintSetDesktopWallpaper=20;css办公区 - 实用经验教程分享!

    publicconstintUpdateIniFile=0x01;css办公区 - 实用经验教程分享!

    publicconstintSendWinIniChange=0x02;css办公区 - 实用经验教程分享!

    [DllImport("user32.dll",SetLastError=true,CharSet=CharSet.Auto)]css办公区 - 实用经验教程分享!

    privatestaticexternintSystemParametersInfo(intuAction,intuParam,stringlpvParam,intfuWinIni);css办公区 - 实用经验教程分享!

    publicstaticvoidSetWallpaper(stringpath,Wallpaper.Stylestyle){css办公区 - 实用经验教程分享!

    SystemParametersInfo(SetDesktopWallpaper,0,path,UpdateIniFile|SendWinIniChange);css办公区 - 实用经验教程分享!

    RegistryKeykey=Registry.CurrentUser.OpenSubKey("ControlPanel\\Desktop",true);css办公区 - 实用经验教程分享!

    switch(style)css办公区 - 实用经验教程分享!

    {css办公区 - 实用经验教程分享!

    caseStyle.Stretch:css办公区 - 实用经验教程分享!

    key.SetValue(@"WallpaperStyle","2");css办公区 - 实用经验教程分享!

    key.SetValue(@"TileWallpaper","0");css办公区 - 实用经验教程分享!

    break;css办公区 - 实用经验教程分享!

    caseStyle.Center:css办公区 - 实用经验教程分享!

    key.SetValue(@"WallpaperStyle","1");css办公区 - 实用经验教程分享!

    key.SetValue(@"TileWallpaper","0");css办公区 - 实用经验教程分享!

    break;css办公区 - 实用经验教程分享!

    }css办公区 - 实用经验教程分享!

    key.Close();css办公区 - 实用经验教程分享!

    }css办公区 - 实用经验教程分享!

    }css办公区 - 实用经验教程分享!

    }css办公区 - 实用经验教程分享!

    "@css办公区 - 实用经验教程分享!

    css办公区 - 实用经验教程分享!

    [Wallpaper.Setter]::SetWallpaper($Path,$Style)css办公区 - 实用经验教程分享!

    }css办公区 - 实用经验教程分享!

    css办公区 - 实用经验教程分享!

    css办公区 - 实用经验教程分享!

    $filePath="$($env:USERPROFILE)\Pictures\Spotlight\Horizontal\*"css办公区 - 实用经验教程分享!

    $file=Get-Item-Path$filePath|Sort-Object-PropertyLastWriteTime-Descending|Select-Object-First1css办公区 - 实用经验教程分享!

    Set-Wallpaper-Path$file.FullNamecss办公区 - 实用经验教程分享!

    #echo$file.FullNamecss办公区 - 实用经验教程分享!

    css办公区 - 实用经验教程分享!

    Remove-Item"$($env:USERPROFILE)\Pictures\Spotlight\CopyAssets\*";css办公区 - 实用经验教程分享!

    #pausecss办公区 - 实用经验教程分享!

  • 3

    必须以管理员身份登录才能执行这些步骤。如果不是以管理员身份登录,则您仅能更改适用于您的用户帐户的设置。css办公区 - 实用经验教程分享!

    由于windows默认的任务计划没有权限执行ps1脚本,因此首先需要用管理员运行Windows PowerShellcss办公区 - 实用经验教程分享!

    提取windows聚焦图片作为桌面壁纸的方法css办公区 - 实用经验教程分享!

  • 4

    输入Set-ExecutionPolicy Unrestricted进行权限更改,输入Y确认css办公区 - 实用经验教程分享!

    提取windows聚焦图片作为桌面壁纸的方法css办公区 - 实用经验教程分享!

  • 4该信息未经授权抓取自百度经验
  • 5

    打开“任务计划程序”,方法是依次单击“控制面板”、“系统和安全性”、“管理工具”,然后双击“任务计划程序”。‌ 需要管理员权限 如果系统提示您输入管理员密码或进行确认,请键入该密码或提供确认。单击“操作”菜单,然后单击“创建任务”。配置如下:css办公区 - 实用经验教程分享!

    常规:键入任务的名称比如SetWallPaperFromSpotlight和描述(可选) - 勾选“使用最高权限运行”css办公区 - 实用经验教程分享!

    提取windows聚焦图片作为桌面壁纸的方法css办公区 - 实用经验教程分享!

  • 6

    触发器:新建 - 选择“制定计划时” - 选择 执行时间如“7:30:00” - 选择执行周期如“每天 每隔1天发生一次” - 勾选"启用",也可以根据需要选择每小时,每半小时或者更高的频率运行脚本。css办公区 - 实用经验教程分享!

    提取windows聚焦图片作为桌面壁纸的方法css办公区 - 实用经验教程分享!

  • 7

    操作:新建 - 选择“启动程序” - "powershell" ,添加参数为文件路径,如"D:\code\py\SetWallPaperFromSpotlight.ps1",- 点击“确定”css办公区 - 实用经验教程分享!

    提取windows聚焦图片作为桌面壁纸的方法css办公区 - 实用经验教程分享!

  • 8

    所有完成就大功告成了,要检查效果的话,单机左侧的任务计划程序库,从右边找到你刚设置的SetWallPaperFromSpotlight任务,右键立即运行就可以看到效果了。css办公区 - 实用经验教程分享!

  • 注意事项

    • 复制的代码一定要完整,要不会执行错误

    以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!css办公区 - 实用经验教程分享!


    标签: 操作系统Win10壁纸提取聚焦

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号统计代码