Изменение фона рабочего стола в зависимости от времени суток через скрипт Windows 8.1

Изменение фона рабочего стола в зависимости от времени суток через скрипт Windows 8.1

Здравствуйте, я впервые пользуюсь этим сайтом, поэтому надеюсь, что задаю вопрос не в неправильном формате.

В любом случае, как следует из заголовка, у меня похожая проблема.на тему, на которую был дан ответ некоторое время назадв котором был ответ, но он не работал на моем компьютере с Windows 8.1, когда я попытался запустить его для проверки. Я уверен, что следовал инструкциям, изменив путь к месту расположения изображения, и мне было интересно, что мне нужно изменить, чтобы это заработало, или код в порядке, и я, вероятно, просто где-то накосячил.

dim shell
Set shell = WScript.CreateObject("WScript.Shell")
wallpaper = "C:\path\to\wallpaper.jpg"
shell.RegWrite "HKCU\Control Panel\Desktop\Wallpaper", wallpaper
shell.Run "%windir%\System32\RUNDLL32.EXE user32.dll,UpdatePerUserSystemParameters", 1, True

Я также попробовалисходный кодно в итоге получаю сообщение об ошибке, сообщающее, что система не может найти файл, указанный в последней строке кода.

Любая помощь будет оценена по достоинству!

решение1

Это плохой ответ и его не следует использовать:

Этот скрипт эмулирует правый клик по картинке и нажатие "Установить как фоновый рисунок рабочего стола". Использование скрипта должно быть понятным SetWallPaper "directory to picture", "filename of picture", "name context menu to run".

'File encoding should be in ANSI
SetWallPaper "C:\icons\", "Potato-icon.png", "Set as desktop &background"

Sub SetWallPaper(WallPaperFolder, WallpaperFile,VerbName)
dim objShell, objFolder, objFolderItem, objVerb, colVerbs
Set objShell = CreateObject("Shell.Application")
set objFolder=objShell.NameSpace(WallPaperFolder)
set objFolderItem=objFolder.ParseName(WallPaperFile)
set colVerbs=objFolderItem.Verbs
for each objVerb in colVerbs
    'msgbox objVerb ,0, "Press CTRL+C for copy text" 'uncomment for debug names in contextmenu
    if objVerb=VerbName then
        'x=msgbox(objVerb ,0, "omg found")
        objVerb.DoIt
        'Without the sleep command the change never takes effect on Win7.
        wscript.sleep(2000)
        wscript.quit
    end if
next
End Sub

Если в вашей системе Windows при щелчке правой кнопкой мыши по изображению для параметра «Установить как фоновый рисунок рабочего стола» указано другое название:

  • Вам следует раскомментировать строку (удалить одинарную кавычку) последля каждого objVerb в colVerbs
  • Затем запустите скрипт и найдите (ENTER для следующего сообщения) соответствующую строку «Установить как рабочий стол и фоновый рисунок» для вашего языка, затем нажмите CTRL+C для сохранения сообщения.
  • Откройте блокнот и нажмите CTRL+V, чтобы вставить сообщение. Скопируйте это имя в скрипт.

основано наэтот

Если вы не ошибетесь, то будет работать по крайней мере в Windows 7.

Связанный контент