Windows Script Host для Windows 2000/XP - [8]

Шрифт
Интервал

и задается префикс ">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                                                    */

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

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

>var objArgs, e, x;

>objArgs = WScript.Arguments; //Создаем объект WshArguments

>//Создаем объект Enumerator для коллекции objArgs

>e = new Enumerator(objArgs);

>for (;!e.atEnd();e.moveNext()) {

> x = e.item();  //Получаем значение элемента коллекции

> WScript.Echo(x); //Выводим значение параметра на экран

>}

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

Однако намного удобнее использовать методы >Count и >Item самого объекта >WshArguments (метод >Item имеется у всех коллекций WSH). Метод >Count возвращает число элементов в коллекции, т. е. количество аргументов командной строки, а метод >Item(n) — значение n-го элемента коллекции (нумерация начинается с нуля). Более того, чтобы получить значение отдельного элемента коллекции >WshArguments, можно просто указать его индекс в круглых скобках после имени объекта.

Замечание

Число элементов в коллекции хранится и в свойстве >Length объекта >WshArguments.

Таким образом, предыдущий пример можно переписать более компактным образом (листинг 1.5).

Листинг 1.5. Вывод всех параметров сценария (методы WSH)

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

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

>/* Язык: JScript                                                   */

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


Рекомендуем почитать
Яйцо кукушки или Преследуя шпиона в компьютерном лабиринте

В отличие от плохого танцора, хорошему сисадмину мешают только кукушкины яйца. Их откладывают в его компьютер злобные хакеры, чтобы из них вылупились программы, делающие своего папу-кукушку суперпользователем. Но сколько кабелю не виться — а кончику быть: бравый сисадмин не дремлет и за годик-другой выводит злоумышленников на чистую воду: на этот раз хакерская тусовка круто пролетела. Такого предельно краткое содержание классической книги эксперта по компьютерной безопасности Клиффа Столла «Яйцо кукушки».


Разработка приложений в среде Linux

Книга известных профессионалов в области разработки коммерческих приложений в Linux представляет собой отличный справочник для широкого круга программистов в Linux, а также тех разработчиков на языке С, которые перешли в среду Linux из других операционных систем. Подробно рассматриваются концепции, лежащие в основе процесса создания системных приложений, а также разнообразные доступные инструменты и библиотеки. Среди рассматриваемых в книге вопросов можно выделить анализ особенностей применения лицензий GNU, использование свободно распространяемых компиляторов и библиотек, системное программирование для Linux, а также написание и отладка собственных переносимых библиотек.


Компьютерные сети

Все материалы взяты с сайта acerfans.ruОписание работы сети на более-менее глубоком уровне займет не одну страницу. Об этом написано сотни книг, публикаций, FAQ. В этом материале я попытаюсь объяснить работу сети на уровне, который необходим для построения и настройки домашней сети. Естественно, что очень многие моменты будут просто упущены или сильно упрощены. Более-детально работа сети описана в книгах Олифера, а также в первом и втором семестрах CCNA.Если у Вас появятся вопросы (а они у Вас обязательно появятся ) — то задаем их в этом разделе форума.


Серверные технологии хранения данных в среде Windows® 2000 Windows® Server 2003

Книга предназначена для читателей, хорошо знакомых с компьютерными системами и индустрией информационных технологий и желающих расширить познания в области систем хранения данных и архитектуры Windows NT, непосредственно связанной с подобными системами. В книге описываются корпоративные системы хранения данных, в то время как системам потребительского уровня уделяется меньше внимания. В этом издании сделана попытка поддержать интересы специалистов по программному обеспечению, мало знакомых с технологиями хранения данных, и профессионалов в области систем хранения данных, которые стремятся получить дополнительные знания по архитектуре обработки и хранения данных в Windows NT.


Недокументированные и малоизвестные возможности Windows XP

Книга содержит подробные сведения о таких недокументированных или малоизвестных возможностях Windows XP, как принципы работы с программами rundll32.exe и regsvr32.exe, написание скриптов сервера сценариев Windows и создание INF-файлов. В ней приведено описание оснасток, изложены принципы работы с консолью управления mmc.exe и параметрами реестра, которые изменяются с ее помощью. Кроме того, рассмотрено большое количество средств, позволяющих выполнить тонкую настройку Windows XP.Эта книга предназначена для опытных пользователей и администраторов, которым интересно узнать о нестандартных возможностях Windows.


Iptables Tutorial 1.1.19

Iptables Tutorial 1.1.19Автор: (C) Oskar AndreassonCopyright (C) 2001-2002 by Oskar AndreassonПеревод: (C) Андрей КиселевПоследнюю версию документа можно получить по адресу: http://iptables-tutorial.frozentux.netfb2-документ отформатирован с использованием большого количества тегов и . Чтобы в «читалке» (в частности, Haali Reader) текст выглядел «красиво», настройте свойства соотвествующих стилей (emphasis и strong), изменив, например, их цвета или начертания. (прим. автора fb2-документа)