Вы можете использовать запланированные задания вместе с этим VBScript, который я только что взломал (это для использования нескольких обоев и переключения, например, каждые несколько минут):
Randomize
Set obshell = WScript.CreateObject("Wscript.Shell")
num = Int( ( 100 - 1 + 1 ) * Rnd + 1 )
CurrentDir = "C:\Wallpapers\day\"
wallpaper = CurrentDir & "Wallpaper" & num & ".bmp"
obshell.RegWrite "HKCU\Control Panel\Desktop\Wallpaper",wallpaper
obshell.Run "%windir%\System32\RUNDLL32.EXE user32.dll,
UpdatePerUserSystemParameters",1,False
Set obshell = Nothing
Примечание: обои должны быть растровыми. Если вы хотите избежать дополнительных сценариев для периодической проверки системного времени, вы можете использовать один и тот же сценарий для дня и ночи, просто сделайте отдельное запланированное задание и запустите его в нужное время с нужным интервалом. Сделайте 2 папки, одну для дневных обоев и одну для ночных обоев, поместите в каждую копию сценария Вам нужно изменить 100
в строке 3, чтобы количество обоев было в каждом, и переименовать их в Wallpaper1, Wallpaper2, etc
Чтобы этот сценарий работал (или измените имя в сценарии). Также измените значение CurrentDir
для каждого.
Если вы хотите использовать только 2 обои (установите их запускать каждые 59 минут или около того, чтобы не пропустить час):
Set obshell = WScript.CreateObject("Wscript.Shell")
CurrentHour = Hour(Now)
If CurrentHour = 8 Then
wallpaper = "C:\Wallpapers\day.bmp"
ElseIf CurrentHour = 20 Then
wallpaper = "C:\Wallpapers\night.bmp"
Else
WScript.Quit(0)
End If
obshell.RegWrite "HKCU\Control Panel\Desktop\Wallpaper",wallpaper
obshell.Run "%windir%\System32\RUNDLL32.EXE user32.dll,
UpdatePerUserSystemParameters",1,False
Set obshell = Nothing