NoTask | 0 | Объект WshRemote , соответствующий удаленному сценарию, создан, однако сценарий еще не запущен |
Running | 1 | Выполнение удаленного сценария продолжается |
Finished | 2 | Удаленный сценарий завершен |
Два имеющихся у объекта WshRemote
метода позволяют соответственно запустить удаленный сценарий (метод Execute
) или принудительно завершить его выполнение (метод Terminate
); оба эти метода не имеют параметров. Метод Terminate
, подобно одноименному методу объекта WshScriptExec
, пытается закрыть приложение, посылая ему сообщение WM_CLOSE
(если это не срабатывает, процесс завершается принудительно).
Кроме свойств и методов, объект WshRemote может генерировать три события, которые описаны в табл. 1.20.
WshRemote
Событие | Описание |
---|---|
Start | Возникает при вызове метода Execute и сигнализирует серверу сценариев о начале выполнения сценария на удаленной машине |
Error | Возникает в том случае, когда выполнение сценария на удаленной машине завершается аварийно |
End | Возникает при завершении (нормальном или аварийном) работы сценария на удаленной машине |
Для обработки в сценариях событий, приведенных в табл. 1.20, необходимо подключиться к объекту WshRemote с помощью метода ConnectObject объекта WScript (листинг 1.28).
/**********************************************************************/
/* Имя: 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
хранится в свойстве Error
соответствующего объекта WshRemote
.
Свойства объекта WshRemoteError
описаны в табл. 1.21 (методов у этого объекта