Windows Script Host для Windows 2000/XP - Андрей Попов
Шрифт:
Интервал:
Закладка:
Кроме свойств и методов, объект WshRemote может генерировать три события, которые описаны в табл. 1.20.
Таблица 1.20. События объекта WshRemote
Событие Описание Start Возникает при вызове метода Execute и сигнализирует серверу сценариев о начале выполнения сценария на удаленной машине Error Возникает в том случае, когда выполнение сценария на удаленной машине завершается аварийно End Возникает при завершении (нормальном или аварийном) работы сценария на удаленной машинеДля обработки в сценариях событий, приведенных в табл. 1.20, необходимо подключиться к объекту WshRemote с помощью метода ConnectObject объекта WScript (листинг 1.28).
Листинг 1.28. Обработка событий объекта WshRemote (JScript)/**********************************************************************/
/* РРјСЏ: RemoteEvents.jsВ В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В */
/* Язык: JScript                                                     */
/* Описание: Обработка событий, возникающих при выполнении удаленного */
/*          сценария                                                */
/**********************************************************************/
Var Controller,RemScript,IsQuit; //Объявляем переменные
//Создаем объект WshController
Controller = WScript.CreateObject("WshController");
//Создаем сценарий на удаленной машине (объект WshRemote)
RemScript = Controller.CreateScript("D:RemoteScript.js ", "stand");
//Устанавливаем соединение с объектом WshRemote
WScript.ConnectObject(RemScript, "RemoteScript_");
RemScript.Execute(); //Запускаем удаленный сценарий
IsQuit = False;
while (!IsQuit) WScript.Sleep(100); //Приостанавливаем сценарий на 0,1 сек
WScript.Quit(); //Выходим из сценария
/*************** Функции-обработчики событий ***********************/
function RemoteScript_End { //Событие End
 WScript.Echo("Выполнение удаленного сценария завершено");
В IsQuit = True;
}
function RemoteScript_Error { //Событие Error
 //Выводим на экран описание возникшей ошибки
 WScript.Echo("Ошибка при выполнении удаленного сценария: " +
В RemScript.Error.Description);
В IsQuit = True;
}
function RemoteScript_Start { //Событие Start
 WScript.Echo("Удаленный сценарий запущен");
}
/************* Конец *********************************************/
Объект WshRemoteError
Объект WshRemoteError создается автоматически при возникновении ошибки во время выполнения сценария на удаленной машине и содержит информацию об этой ошибке. Ссылка на объект WshRemoteError хранится в свойстве Error соответствующего объекта WshRemote.
Свойства объекта WshRemoteError описаны в табл. 1.21 (методов у этого объекта нет).
Таблица 1.21. Свойства объекта WshRemoteError
Свойство Описание Description Содержит краткое описание ошибки, которая привела Рє аварийному завершению работы сценария. Если для какой-либо ошибки описание РЅРµ предусмотрено, Description содержит пустую строку Line Определяет номер строки РІ файле сценария, РІ которой произошла ошибка. Если для ошибки нельзя определить номер строки, РІ которой РѕРЅР° произошла, РІ свойство Line записывается 0 Character Определяет номер символа РІ строке, РІ котором произошла ошибка. Если для ошибки нельзя определить точную позицию, РІ которой РѕРЅР° возникла, РІ свойство Character записывается 0 Number Содержит числовой РєРѕРґ ошибки SourceText Содержит РІ текстовом РІРёРґРµ строку сценария, РІ которой возникла ошибка. Так как РЅРµ всегда возможно точно определить строку, РІ которой произошла ошибка, то РёРЅРѕРіРґР° значением свойства SourceText может быть пустая строка Source Содержит РІ символьном РІРёРґРµ название РЎРћРњ-объекта, обращение Рє которому послужило источником ошибокДля получения информации Рѕ возникшей РїСЂРё выполнении удаленного сценария ошибке можно использовать обработчик события Error объекта WshRemote; соответствующие примеры приведены РІ листингах 1.28, 2.56 Рё 2.57.В
Глава 2
Примеры использования стандартных объектов WSH (JScript и VBScript)
В этой главе мы на примерах подробно рассмотрим, как с помощью стандартных объектов WSH 5.6, описание которых приведено в главе 1, можно решать некоторые практические задачи, связанные, в частности, с выводом и вводом текстовой информации, запуском других приложений (как на локальной, так и на удаленной машине), созданием ярлыков в различных папках, работой с системным реестром и локальной сетью. Практически все сценарии приведены как на языке JScript, так и на VBScript, и снабжены подробными комментариями.
Вывод на экран текстовых строк
Сформированные в сценарии строки текста можно выводить в стандартный выходной поток (в консольном режиме) или в графическое диалоговое окно несколькими способами: