Страница 1 из 1

Сделать произвольную/заданную картинку фоном Рабочего стола

Добавлено: Пт фев 24, 2017 07:02
Flasher
Посмотрел на старые решения (1, 2) и решил выложить свой скрипт без использования утилит:

Код: Выделить всё

'••••••••••••••••••••••••••••••••••••••••••••• VBS ••••••••••••••••••••••••••••••••••••••••••••••
' Сделать произвольный в заданной папке или подкурсорный файл фоновым изображением Рабочего стола
' Параметр: "<Путь к папке с картинками или к графическому файлу>"
' Примеры:  "%P"  |  %P%N  |  D:\MyWallpapers
'••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
Item = WSH.Arguments(0)
Set FSO = CreateObject("Scripting.FileSystemObject")
Filt = "*.bmp;*.gif;*.jpg;*.jpeg;*.png;*.tif;*.tiff"
If FSO.FileExists(Item) Then
  If InStr(Filt & ";*", "." & LCase(FSO.GetExtensionName(Item)) & ";*") Then File = Item Else WSH.Quit
ElseIf FSO.FolderExists(Item) Then
  Set Items = CreateObject("Shell.Application").NameSpace(Item).Items
  Items.Filter 73920, Filt
  Cnt = Items.Count : If Cnt = 0 Then WSH.Quit
  Randomize: File = Items.Item(CLng(Round(Rnd * (Cnt - 1), 0))).Path
Else WSH.Quit : End If
GetObject("new:{9BA05972-F6A8-11CF-A442-00A0C90A8F39}").Item.document. _ 
Application.NameSpace(0).ParseName(File).InvokeVerb "setdesktopwallpaper"