Здравствуйте, я впервые пользуюсь этим сайтом, поэтому надеюсь, что задаю вопрос не в неправильном формате.
В любом случае, как следует из заголовка, у меня похожая проблема.на тему, на которую был дан ответ некоторое время назадв котором был ответ, но он не работал на моем компьютере с 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.