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
гостевая; E-mail |