Windows Script Host для Windows 2000/XP | страница 15
Отметим, что объекты автоматизации из сценариев можно создавать и без помощи 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).
>/*******************************************************************/
>/* Имя: EchoExample.js */
>/* Язык: JScript */
>/* Описание: Использование метода WScript.Echo */