Андрей Попов - Windows Script Host для Windows 2000/XP
- Название:Windows Script Host для Windows 2000/XP
- Автор:
- Жанр:
- Издательство:БХВ-Петербург
- Год:2004
- Город:Санкт-Петербург
- ISBN:5-94157-197-6
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Андрей Попов - Windows Script Host для Windows 2000/XP краткое содержание
В книге описывается сервер сценариев Windows Script Host (WSH) версии 5.6, который является одним из стандартных компонентов Windows ХР, а также может быть установлен в более ранних версиях Windows. Приводятся сценарии на языках VBScript и JScript, иллюстрирующие применение стандартных объектов WSH 5.6, включая создание из сценариев дочерних процессов и запуск сценариев на удаленных компьютерах. В качестве более сложных примеров рассматриваются сценарии, работающие с базами данных, управляющие приложениями Microsoft Office, организующие графический пользовательский интерфейс, использующие технологии ADSI (Active Directory Service Interface) и WMI (Windows Management Instrumentation) для решения задач администрирования. Освещены вопросы практической работы с XML-файлами и создания СОМ-объектов. Особое внимание уделяется вопросам безопасности при работе со сценариями, приводятся конкретные примеры настроек политик безопасности. К книге прилагается дискета с исходными текстами большинства примеров.
Windows Script Host для Windows 2000/XP - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
В методе 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).
/********************************************************************/
/* Имя: 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
.
В случае, когда strType
установлено в " REG_SZ
" или " REG_EXPAND_SZ
", метод RegWrite
автоматически конвертирует параметр anyValue
в строку. Если значение strType
равно " REG_DWORD
", то anyValue
переводится в целый формат. Если strType равно " REG_BINARY
", то anyValue
должно быть целым числом.
Пример, иллюстрирующий применение метода RegWrite, приведен в главе 2 (см. листинги 2.45 и 2.46).
Метод Run
Параметр intWindowStyle
устанавливает вид окна для запускаемого приложения (табл. 1.13).
Таблица 1.13. Типы окна ( intWindowStyle
)
Параметр | Константа Visual Basic | Описание |
---|---|---|
0 | vbHide |
Прячет текущее окно и активизирует другое окно (показывает его и передает ему фокус) |
1 | vbNormalFocus |
Активизирует и отображает окно. Если окно было минимизировано или максимизировано, система восстановит его первоначальное положение и размер. Этот флаг должен указываться сценарием во время первого отображения окна |
2 | vbMinimizedFocus |
Активизирует окно и отображает его в минимизированном (свернутом) виде |
3 | vbMaximizedFocus |
Активизирует окно и отображает его в максимизированном (развернутом) виде |
4 | vbNormalNoFocus |
Отображает окно в том виде, в котором оно находилось последний раз. Активное окно при этом остается активным |
5 | Активизирует окно и отображает его в текущем состоянии | |
6 | vbMinimizedNoFocus | Минимизирует заданное окно и активизирует следующее (в Z-порядке) окно |
7 | Отображает окно в свернутом виде. Активное окно при этом остается активным | |
8 | Отображает окно в его текущем состоянии. Активное окно при этом остается активным | |
9 | Активизирует и отображает окно. Если окно было минимизировано или максимизировано, система восстановит его первоначальное положение и размер. Этот флаг должен указываться, если производится восстановление свернутого окна (его нельзя использовать в методе Run ) |
|
10 | Устанавливает режим отображения, опирающийся на режим программы, которая запускает приложение |
В сценариях, написанных на языке VBScript, можно непосредственно использовать именованные константы типа vbHide
без предварительного их объявления. Для того чтобы использовать такие константы в JScript-сценариях, их нужно предварительно объявить как переменные и присвоить нужные значения (например, var vbHide=0;
). Естественно, в любых сценариях вместо имен констант можно использовать их числовые значения.
Интервал:
Закладка: