Чтение онлайн

ЖАНРЫ

Windows Script Host для Windows 2000/XP

Попов Андрей Викторович

Шрифт:
Замечание

В сценариях, написанных на языке VBScript, можно непосредственно использовать именованные константы типа

vbOkCancel
без предварительного их объявления. Для того чтобы использовать такие константы в JScript-сценариях, их нужно предварительно объявить как переменные и присвоить нужные значения (например,
var vbOkCancel=1;
). Естественно, в любых сценариях вместо имен констант можно использовать их числовые значения.

В методе

Popup
можно комбинировать значения параметра, приведенные в табл. 1.10. Например, в результате выполнения следующего сценария:

var WshShell = WScript.CreateObject("WScript.Shell");

WshShell.Popup("Копирование
завершено успешно", 5, "Ура",65);

на экран будет выведено информационное окно, показанное на рис. 1.11, которое автоматически закроется через 5 секунд.

Рис. 1.11. Информационное окно, созданное методом

Popup

Метод Popup возвращает целое значение, с помощью которого можно узнать, какая именно кнопка была нажата для выхода (табл. 1.11).

Таблица 1.11. Возвращаемые методом

Popup
значения

Значение Константа Visual Basic Описание
– 1   Пользователь не нажал ни на одну из кнопок в течение времени, заданного параметром
nSecToWait
1
vbOk
Нажата кнопка OK
2
vbCancel
Нажата кнопка Отмена (Cancel)
3
vbAbort
Нажата кнопка Стоп (Abort)
4
vbRetry
Нажата кнопка Повтор (Retry)
5
vbIgnore
Нажата кнопка Пропустить (Ignore)
6
vbYes
Нажата кнопка Да (Yes)
7
vbNo
Нажата кнопка Нет (No)

Примеры вывода информации с помощью метода

Popup
представлены в главе 2 (см. листинги 2.13 и 2.14).

Метод RegDelete

Если параметр

strName
оканчивается символами
\\
, то этот метод удаляет ключ целиком (вместе со всеми параметрами внутри его), в противном случае удаляется только один заданный параметр. Параметр
strName
должен начинаться с одного из следующих корневых ключей (табл. 1.12).

Таблица 1.12. Названия ключей

Краткое название Длинное название
HCKU
HKEY_CURRENT_USER
HKLM
HKEY_LOCAL_MACHINE
HKCR
HKEY_CLASSES_ROOT
 
HKEY_USERS
 
HKEY_CURRENT_CONFIG

Пример,

иллюстрирующий применение метода
RegDelete
, приведен в главе 2 (см. листинги 2.45 и 2.46).

Метод RegRead

С помощью этого метода можно прочитать следующие типы данных:

REG_SZ
,
REG_EXPAND_SZ
,
REG_DWORD
,
REG_BINARY
и
REG_MULTI_SZ
. Если в реестре содержатся данные других типов, то метод
RegRead
вернет значение
DISP_E_TYPEMISMATCH
.

Если параметр

strName
оканчивается символами
\\
, то этот метод считывает значение по умолчанию для раздела (если оно установлено), в противном случае читается значение параметра.

В следующем примере на экран выводятся считанные из реестра с помощью метода

RegRead
значение параметра и значение по умолчанию для раздела реестра (листинг 1.17).

Листинг 1.17. Чтение значений параметра и раздела системного реестра

/********************************************************************/

/* Имя: RegRead.js */

/* Язык: JScript */

/* Описание: Чтение значений параметра и раздела системного реестра */

/********************************************************************/

var WS,s;

//Создаем объект WshShell

WS = WScript.CreateObject("WScript.Shell");

s="Значение параметра\n";

s+="HKCU\\Control Panel\\Keyboard\\KeyboardSpeed = ";

//Читаем значение параметра реестра

s+=WS.RegRead("HKCU\\Control Panel\\Keyboard\\KeyboardSpeed")+"\n\n";

s+="Значение по умолчанию для раздела\n";

s+="HKCU\\Control Panel\\Keyboard\\ = ";

//Читаем значение по умолчанию для раздела реестра

s+=WS.RegRead("HKCU\\Control Panel\\Keyboard\\");

//Вывод на экран сформированной строки

WScript.Echo(s);

/************* Конец ***********************************************/

Метод RegWrite

Если параметр

strName
оканчивается символами
\\
, то этот метод записывает раздел; если такого раздела нет, он будет создан. Если в конце
strName
отсутствуют символы
\\
, то производится запись указанного параметра в нужный раздел; если такого параметра нет, он будет создан с указанным именем и значением.

Параметр

anyValue
метода задает значение, которое нужно записать в заданный параметром
strName
параметр или раздел реестра. Необязательный параметр
strType
определяет тип записываемого значения. В качестве
strType
можно указывать "
REG_SZ
", "
REG_EXPAND_SZ
", "
REG_DWORD
" и "
REG_BINARY
". Если в качестве параметра
strType
передается другое значение, то метод
RegWrite
вернет значение
E_INVALIDARG
.

Поделиться с друзьями: