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).

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

>/*******************************************************************/

>/* Имя: EchoExample.js                                             */

>/* Язык: JScript                                                   */

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