使用Powershell自动设置壁纸

huuhghhgyg avatar
  • huuhghhgyg
  • 1 min read

发现CMD不能达到此目的,更换更高级的Powershell来执行这个任务~

最近有的人经常更换电脑桌面壁纸,而且壁纸我觉得也不算好看(很难看),基本上就是起到哗众取宠的目的,所以我打算利用脚本自动定时更换电脑壁纸,达到锁定电脑壁纸的目的。

准备工作

学校的电脑系统是Win7,默认设置不允许执行脚本(不知道是不是Ghost系统的人设置的),所以第一步要解除限制。 Powershell中执行命令如下: Set-ExecutionPolicy Unrestricted 执行完毕之后就能运行.ps1脚本了。

自动更换壁纸的函数方法

保存如下代码到一个.ps1文件中。(可以用记事本编辑再更改文件拓展名)

1Function Set-WallPaper($Value)
2{
3 Set-ItemProperty -path 'HKCU:\Control Panel\Desktop\' -name wallpaper -value $value
4 rundll32.exe user32.dll, UpdatePerUserSystemParameters 1, True
5}
6
7Set-WallPaper -value "C:\Windows\Web\Wallpaper\Homes_Background.bmp"

将其中C:\Windows\Web\Wallpaper\Homes_Background.bmp更改成壁纸所在处,执行脚本即生效。

添加到计划任务

计划任务的位置在 “控制面板”-(“系统和安全”)-“管理工具”-“计划任务” 打开后点击 “添加基本任务” ,之后就可以跟着向导走了。执行文件填写 powershell ,参数填写刚刚保存的脚本文件位置即可。

还可以

每日获取Bing图片并设为壁纸

 1function Save-BingTodayImage()
 2{
 3    #必应图片故事API
 4    $bingImageApi ='http://www.bing.com/HPImageArchive.aspx?format=xml&idx=0&n=1&mkt=zh-cn'
 5    $bingUri = 'http://www.bing.com/'
 6 
 7    # 获取图片链接
 8    [xml]$bingImageXml = (Invoke-WebRequest -Uri $bingImageApi).Content
 9    Write-Host " 今日图片故事: $( $bingImageXml.images.image.copyright ) "
10    $imgLink = '{0}{1}' -f $bingUri , $bingImageXml.images.image.url
11 
12    # 下载和保存图片
13    $imageDir = "$HOME\Pictures\Bing\"
14    if( -not (Test-Path $imageDir) )
15    {
16        mkdir $imageDir | Out-Null
17    }
18    $imageFile = Join-Path $imageDir ( '{0}.jpg' -f $bingImageXml.images.image.fullstartdate)
19 
20    Invoke-WebRequest -Uri $imgLink -OutFile $imageFile
21 
22    return $imageFile
23}
24 
25Function Set-DesktopWallPaper($imagePath)
26{
27 Set-ItemProperty -path 'HKCU:\Control Panel\Desktop\' -name wallpaper -value $imagePath
28 RUNDLL32.EXE USER32.DLL UpdatePerUserSystemParameters ,1 ,True
29}
30 
31# 获取今日必应背景图片
32$image=Save-BingTodayImage
33 
34#设置为桌面墙纸
35Set-DesktopWallPaper -imagePath $image
huuhghhgyg

Writter by : huuhghhgyg

Never Settle

Recommended for You

FileGetter使用说明

FileGetter使用说明

Visual Studio 快捷键

Visual Studio 快捷键