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

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


Рекомендуем почитать
Это ваше Fido

Одно из немногих изданий на русском языке, которое посвящено старейшей глобальной компьютерной сети "Fidonet". Сатирический справочник о жизни и смерти самого древнего сетевого сообщества, которое до сих пор существует среди нас.


Безопасность информационных систем

В пособии излагаются основные тенденции развития организационного обеспечения безопасности информационных систем, а также подходы к анализу информационной инфраструктуры организационных систем и решению задач обеспечения безопасности компьютерных систем.Для студентов по направлению подготовки 230400 – Информационные системы и технологии (квалификация «бакалавр»).


UNIX — универсальная среда программирования

В книге американских авторов — разработчиков операционной системы UNIX — блестяще решена проблема автоматизации деятельности программиста, системной поддержки его творчества, выходящей за рамки языков программирования. Профессионалам открыт богатый "встроенный" арсенал системы UNIX. Многочисленными примерами иллюстрировано использование языка управления заданиями shell.Для программистов-пользователей операционной системы UNIX.


QNX/UNIX: Анатомия параллелизма

Книга адресована программистам, работающим в самых разнообразных ОС UNIX. Авторы предлагают шире взглянуть на возможности параллельной организации вычислительного процесса в традиционном программировании. Особый акцент делается на потоках (threads), а именно на тех возможностях и сложностях, которые были привнесены в технику параллельных вычислений этой относительно новой парадигмой программирования. На примерах реальных кодов показываются приемы и преимущества параллельной организации вычислительного процесса.


Виртуальные  машины: несколько компьютеров в  одном

Применение виртуальных машин дает различным категориям пользователей — от начинающих до IT-специалистов — множество преимуществ. Это и повышенная безопасность работы, и простота развертывания новых платформ, и снижение стоимости владения. И потому не случайно сегодня виртуальные машины переживают второе рождение.В книге рассмотрены три наиболее популярных на сегодняшний день инструмента, предназначенных для создания виртуальных машин и управления ими: Virtual PC 2004 компании Microsoft, VMware Workstation от компании VMware и относительно «свежий» продукт — Parallels Workstation, созданный в компании Parallels.


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

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