Войти

Показать полную графическую версию : Смена картинки на десктопе


RRRinat
21-10-2012, 21:02
Доброго вечера!
Меняю картинку на рабочем столе у определенного юзера.

WshShell.regWrite("HKEY_USERS\\"+oItem.SID+"\\Control Panel\Desktop\Wallpaper", "C:\po.bmp", "REG_SZ");
WScript.Echo(WshShell.RegRead("HKEY_USERS\\"+oItem.SID+"\\Control Panel\Desktop\Wallpaper"));

Все бы хорошо, скрипт показывает, что в этой ветке реестра действительно есть запись "C:\po.bmp".
Однако открываю regedit и вижу что там ничего не поменялось. Рабочий стол как оставался, так и остается. Перезагрузка также не помогает.

Однако, если после перезагрузки выполнить:
WScript.Echo(WshShell.RegRead("HKEY_USERS\\"+oItem.SID+"\\Control Panel\Desktop\Wallpaper"));
У нас показывает, что запись в реестре есть типа: "C:\po.bmp".
Однако в реестре ничего нет.
Пробовал как и HKEY_USERS\\sid, так и просто HKCU. (там уж точно не ошибешься!). Однако результат одинаковый.
По ходу дела записываем куда-то не туда... но я не вижу своей ошибки.

Iska
21-10-2012, 22:10
Коллега, я начинаю сомневаться, что JScript Вам хорошо знаком. Вы делаете одни и те же ошибки начального уровня:
WshShell.regWrite("HKEY_USERS\\"+oItem.SID+"\\Control Panel\\Desktop\\Wallpaper", "C:\\po.bmp", "REG_SZ");
WScript.Echo(WshShell.RegRead("HKEY_USERS\\"+oItem.SID+"\\Desktop\\Wallpaper"));

RRRinat
21-10-2012, 23:15
начинаю сомневаться, что JScript Вам хорошо знаком
Да что вы. Знаю немного синтаксис, и то, из за того что он с javascript'ом схож. Да, и был невнимателен что-то я сейчас. Взял из какого-то примера, дописал свое. А что там две черты, а не одна нужна я как-то и не заметил даже

Да, вещь работает. спасибо большое вам!




© OSzone.net 2001-2012