NoTask 0 Объект WshRemote, соответствующий удаленному сценарию, создан, однако сценарий еще не запущен
Running 1 Выполнение удаленного сценария продолжается
Finished 2 Удаленный сценарий завершен

Два имеющихся у объекта WshRemote метода позволяют соответственно запустить удаленный сценарий (метод Execute) или принудительно завершить его выполнение (метод Terminate); оба эти метода не имеют параметров. Метод Terminate, подобно одноименному методу объекта WshScriptExec, пытается закрыть приложение, посылая ему сообщение WM_CLOSE (если это не срабатывает, процесс завершается принудительно).

Кроме свойств и методов, объект 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 (методов у этого объекта

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату