Pers.narod.ru. Обучение. Ставим скриптом VBS обои на Рабочий Стол

...бывает удобно, например, в терминалку на автозагрузку поставить, а то дети при своей "работе" меняют обои на козяблики :)

Достаточно сохранить и выполнить следующий файл (Wallpaper.vbs):

Set objWshShell = WScript.CreateObject("Wscript.Shell")
strPath2DestWallpaper = "./wallpaper.bmp"
objWshShell.RegWrite "HKEY_CURRENT_USER\Control Panel\Desktop\Wallpaper", strPath2DestWallpaper, "REG_SZ"
objWshShell.Run """%SystemRoot%\System32\RUNDLL32.EXE"" user32.dll,UpdatePerUserSystemParameters", 0, True

Здесь предполагается, что нужная обоина лежит в той же папке, что сам скрипт, и называется Wallpaper.bmp

Если по каким-то причинах выполнять Visual Basic Script "напрямую" неудобно или невозможно, это можно сделать через командный файл Windows (например, сохранить 1-строчный листинг ниже как файл Wall.bat). Командный файл уже без проблем ставится везде, где можно поставить исполняемый.

wscript.exe //NOLOGO Wallpaper.vbs

Если мы не хотим этого делать, например, для профиля с именем Администратор, а для остальных юзеров хотим повторять установку обоев каждые полтора часа (даже если они успели понаставить козябликов), код скрипта можно изменить таким образом:

Set objWshShell = WScript.CreateObject("Wscript.Shell")
Set WshNetwork = CreateObject("WScript.Network")

if WshNetwork.UserName = "Администратор" then
 strPath2DestWallpaper = ""
else 
 strPath2DestWallpaper = "./wallpaper.bmp"
end if

do while 1<2 
 objWshShell.RegWrite "HKEY_CURRENT_USER\Control Panel\Desktop\Wallpaper", strPath2DestWallpaper, "REG_SZ"
 objWshShell.Run """%SystemRoot%\System32\RUNDLL32.EXE"" user32.dll,UpdatePerUserSystemParameters", 0, True
 wscript.sleep 5400000
loop

Рейтинг@Mail.ru

вверх гостевая; E-mail
Hosted by uCoz