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

на главную - закладки

Жанры

Windows Script Host для Windows 2000/XP

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

Шрифт:

В следующем примере метод

CreateObject
используется для создания объекта
WshNetwork
:

var WshNetwork = WScript.Createobject("WScript.Network");

Отметим, что объекты автоматизации из сценариев можно создавать и без помощи WSH. В JScript для этого используется объект

ActiveXObject
, например:

var WshNetwork = new ActiveXObject("WScript.Network");

В VBscript для создания объектов может использоваться специальная функция

CreateObject
, например:

Set WshNetwork = CreateObject("WScript.Network")

Однако

организовать в сценарии обработку событий создаваемого объекта можно только при использовании метода
WScript.CreateObject
.

Метод ConnectObject

Объект, соединение с которым осуществляется с помощью метода

ConnectObject
, должен предоставлять интерфейс к своим событиям.

В следующем примере в переменной

MyObject
создается абстрактный объект "
SomeObject
", затем из сценария вызывается метод
SomeMetod
этого объекта. После этого устанавливается связь с переменной
MyObject
и задается префикс "
MyEvent
" для процедур обработки события этого объекта. Если в объекте возникнет событие с именем "
Event
", то будет вызвана функция
MyEvent_Event
. Метод
DisconnectObject
объекта
WScript
производит отсоединение объекта
MyObject
.

var MyObject = WScript.CreateObject("SomeObject");

MyObject.SomeMethod;

WScript.ConnectObject(MyObject, "MyEvent");

function MyEvent_Event(strName) {

 WScript.Echo(strName);

}

WScript.DisconnectObject(MyObject);

Метод DisconnectObject

Если соединения с объектом

obj
не было установлено, то метод
DisconnectObject(obj)
не будет производить никаких действий. Пример применения
DisconnectObject
был приведен выше.

Метод Echo

Параметры

Arg1
,
Arg2
задают аргументы для вывода. Если сценарий был запущен с помощью wscript.exe, то метод
Echo
направляет вывод в диалоговое окно, если же для выполнения сценария применяется cscript.exe, то вывод будет направлен на экран (консоль). Каждый из аргументов при выводе будет разделен пробелом. В случае использования cscript.exe вывод всех аргументов будет завершен символом новой строки. Если в методе Echo не задан ни один аргумент, то будет напечатана пустая строка.

Например, после выполнения сценария EchoExample.js (листинг 1.3) с помощью cscript.exe на экран будут выведены пустая строка, три числа и строка текста (рис. 1.10).

Листинг 1.3. Сценарий EchoExample.js

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

/* Имя: EchoExample.js */

/*
Язык: JScript */

/* Описание: Использование метода WScript.Echo */

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

WScript.Echo; //Выводим пустую строку

WScript.Echo(1,2,3); //Выводим числа

WScript.Echo("Привет!"); //Выводим строку

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

Рис. 1.10. Вывод информации с помощью метода Echo

Другие примеры использования метода

Echo
приведены в главе 2 (см. листинги 2.1, 2.2, 2.4 и 2.5).

Метод Sleep

В следующем примере сценарий переводится в неактивное состояние на 5 секунд:

WScript.Echo("Сценарий запущен, отдыхаем...");

WScript.Sleep(5000);

WScript.Echo("Выполнение завершено");

Метод

Sleep
необходимо применять при асинхронной работе сценария и какой-либо другой задачи, например, при имитации нажатий клавиш в активном окне с помощью метода
WshShell.SendKeys
(см. листинги 1.13, 2.31, 2.32).

Объекты-коллекции

В WSH входят объекты, с помощью которых можно получить доступ к коллекциям, содержащим следующие элементы:

параметры командной строки запущенного сценария или ярлыка Windows (объекты

WshArguments
,
WshNamed
и
WshUnnamed
);

значения переменных среды (объект

WshEnvironment
);

пути к специальным папкам Windows (объект

WshSpecialFolders
).

Объект WshArguments

Объект

WshArguments
содержит коллекцию всех параметров командной строки запущенного сценария или ярлыка Windows. Этот объект можно создать только с помощью свойства
Arguments
объектов
WScript
и
WshShortcut
.

В принципе, работать с элементами коллекции

WshArguments
можно стандартным для JScript образом — создать объект
Enumerator
и использовать его методы
moveNext
,
item
и
atEnd
. Например, вывести на экран все параметры командной строки, с которыми запущен сценарий, можно следующим образом (листинг 1.4).

Листинг 1.4. Вывод всех параметров сценария (стандартные коллекции JScript)

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

/* Имя: EnumArgs.js */

/* Язык: JScript */

/* Описание: Вывод на экран параметров запущенного сценария */

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

Поделиться:
Популярные книги

Измена. Жизнь заново

Верди Алиса
1. Измены
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Измена. Жизнь заново

Его огонь горит для меня. Том 2

Муратова Ульяна
2. Мир Карастели
Фантастика:
юмористическая фантастика
5.40
рейтинг книги
Его огонь горит для меня. Том 2

Командир Красной Армии

Поселягин Владимир Геннадьевич
1. Командир Красной Армии
Фантастика:
попаданцы
8.72
рейтинг книги
Командир Красной Армии

Брачный сезон. Сирота

Свободина Виктория
Любовные романы:
любовно-фантастические романы
7.89
рейтинг книги
Брачный сезон. Сирота

Сама себе хозяйка

Красовская Марианна
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Сама себе хозяйка

Барону наплевать на правила

Ренгач Евгений
7. Закон сильного
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Барону наплевать на правила

Единственная для невольника

Новикова Татьяна О.
Любовные романы:
любовно-фантастические романы
5.67
рейтинг книги
Единственная для невольника

Вторая невеста Драконьего Лорда. Дилогия

Огненная Любовь
Вторая невеста Драконьего Лорда
Любовные романы:
любовно-фантастические романы
5.60
рейтинг книги
Вторая невеста Драконьего Лорда. Дилогия

Любовь по инструкции

Zzika Nata
Любовные романы:
любовно-фантастические романы
5.85
рейтинг книги
Любовь по инструкции

Город Богов

Парсиев Дмитрий
1. Профсоюз водителей грузовых драконов
Фантастика:
юмористическая фантастика
детективная фантастика
попаданцы
5.00
рейтинг книги
Город Богов

Эволюционер из трущоб. Том 5

Панарин Антон
5. Эволюционер из трущоб
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Эволюционер из трущоб. Том 5

Мастер Разума II

Кронос Александр
2. Мастер Разума
Фантастика:
героическая фантастика
попаданцы
аниме
5.75
рейтинг книги
Мастер Разума II

Сердце Дракона. Том 9

Клеванский Кирилл Сергеевич
9. Сердце дракона
Фантастика:
фэнтези
героическая фантастика
боевая фантастика
7.69
рейтинг книги
Сердце Дракона. Том 9

Нечто чудесное

Макнот Джудит
2. Романтическая серия
Любовные романы:
исторические любовные романы
9.43
рейтинг книги
Нечто чудесное