|
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
|
|