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

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

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

dim shell
Set shell = WScript.CreateObject("WScript.Shell")
wallpaper = "C:pathtowallpaper.jpg"
shell.RegWrite "HKCUControl PanelDesktopWallpaper", wallpaper
shell.Run "%windir%System32RUNDLL32.EXE user32.dll,UpdatePerUserSystemParameters", 1, True

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

любая помощь будет оценена!

12
задан Community
12.02.2023 5:51 Количество просмотров материала 3598
Распечатать страницу

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

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

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

на основе этой

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

0
отвечен crazypotato 2023-02-13 13:39

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя

Похожие вопросы про тегам:

desktop-customization
script
vbscript
windows-8.1
Вверх