Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Jscripts реестр


Автор: Arxangel 9.3.2006, 13:56
Что то никак не дойдет. Мне надо чтобы скрипт ms Jscript проверил есть ли такая то ветка реестра и если ветки нет то просто перкратил выполнение.


Автор: 12345c 9.3.2006, 16:36
Язык не предназначен для управления компьютером

Автор: Ciber SLasH 9.3.2006, 17:08
2Arxangel:
Если нужна проверка из WSH-скрипта, то так:
Код

WshShell = WScript.CreateObject("WScript.Shell");
isExists = true;    // признак существования ключа

Key = "HKLM\\Software\\Microsoft\\Windows NT\\CurrentVersion\\CurrentVersion";
try {
    WshShell.RegRead(Key);    // попытка прочесть ключ реестра
}
catch (e) {
    isExists = false;        // если не существует ключа, то устанавливаем перем. в false
}
WshShell.Quit;

если проверяется из браузера, то нужно в первой строке создавать ActiveX-объект так:
Код

WshShell = new ActiveXObject('WScript.Shell');

и придётся разрешить в браузере выполнение ActiveX-скриптов, но это всё будет работать локально, из сети браузер не разрешить загружать скрипты с ActiveX-ом.

Автор: Arxangel 14.3.2006, 16:59
Большое спасибо! почему то этого нет isExists ( или я ошибаюсь) в Script56.CHM smile

Автор: Ciber SLasH 14.3.2006, 17:08
Цитата(Arxangel @ 14.3.2006, 16:59 Найти цитируемый пост)
почему то этого нет isExists

Это ведь флаг, который мы сами определили. И он изменяется в зависимости от того будет ли ошибка при попытке прочитать ключ и если будет, то JS-интерпретатор попадёт в 9-строку кода, где и изменит наш флаг на false. А в после 10 строки можно проверять этот флаг, если он равен true, то ключ успешно прочитан.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)