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

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

Жанры

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 */

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

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

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

Мент

Константинов Андрей Дмитриевич
8. Бандитский Петербург
Детективы:
боевики
8.58
рейтинг книги
Мент

Дважды одаренный. Том VII

Тарс Элиан
7. Дважды одаренный
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Дважды одаренный. Том VII

Вечный. Книга VI

Рокотов Алексей
6. Вечный
Фантастика:
рпг
фэнтези
5.00
рейтинг книги
Вечный. Книга VI

Бастард Императора. Том 7

Орлов Андрей Юрьевич
7. Бастард Императора
Фантастика:
городское фэнтези
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Бастард Императора. Том 7

Газлайтер. Том 29

Володин Григорий Григорьевич
29. История Телепата
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Газлайтер. Том 29

Студиозус 2

Шмаков Алексей Семенович
4. Светлая Тьма
Фантастика:
юмористическое фэнтези
городское фэнтези
аниме
5.00
рейтинг книги
Студиозус 2

Чехов

Гоблин (MeXXanik)
1. Адвокат Чехов
Фантастика:
фэнтези
боевая фантастика
альтернативная история
5.00
рейтинг книги
Чехов

Старый, но крепкий 5

Крынов Макс
5. Культивация без насилия
Фантастика:
рпг
аниме
уся
фэнтези
5.00
рейтинг книги
Старый, но крепкий 5

Герцог и я

Куин Джулия
1. Бриджертоны
Любовные романы:
исторические любовные романы
8.92
рейтинг книги
Герцог и я

Наследие Маозари 8

Панежин Евгений
8. Наследие Маозари
Фантастика:
боевая фантастика
космическая фантастика
попаданцы
постапокалипсис
рпг
фэнтези
эпическая фантастика
5.00
рейтинг книги
Наследие Маозари 8

Библия

Библия
Религия и эзотерика:
религия
7.41
рейтинг книги
Библия

Эволюционер из трущоб

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

Хозяин Теней 6

Петров Максим Николаевич
6. Безбожник
Фантастика:
аниме
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Хозяин Теней 6

Антология странного рассказа

Коллектив авторов
Проза:
современная проза
5.00
рейтинг книги
Антология странного рассказа