Объект WshScriptExec
Объект WshScriptExec
В WSH 5.6 появилась возможность при помощи метода WshShell.Exec запускать консольное приложение или сценарий как дочерний процесс выполняемого сценария, т.е. с теми же переменными среды, что и у процесса-родителя. Метод WshShell.Exec выполняет командную строку, указанную в качестве его параметра, и возвращает объект WScriptExec, свойства и методы которого предоставляют информацию о запущенной задаче и обеспечивают доступ к ее стандартным потокам ввода/вывода и ошибок (обработка этих потоков необходима в силу того, что непосредственно на экране строки, выводимые дочерним приложением, не появляются).
Отметим также, что с помощью метода WshShell.Exec можно запускать и графические оконные Windows-приложения. В этом случае создаваемый объект WshScriptExec полезен тем, что он позволяет получить идентификатор запущенного процесса (Process ID, PID), который затем можно использовать для активизации задачи при помощи метода WshShell.AppActivate.
Объект WScriptExec имеет единственный метод Terminate, с помощью которого можно прервать выполнение дочернего процесса.
Например:
var WshShell=WScript.CreateObject("WScript.Shell");
var ChildJob = WshShell.Exec("cscript ChildScript.js");
ChildJob.Terminate();
Метод Terminate пытается закрыть приложение, посылая ему сообщение WM_CLOSE. Если это не срабатывает, задача завершается принудительно. Методом Terminate нужно пользоваться только в крайнем случае, т.к. некоторые приложения, завершенные таким способом, не полностью освобождают ресурсы. Поэтому, как правило, лучше дождаться, когда запущенная задача сама закончит свою работу.
Свойства объекта WshScriptExec описаны в табл. 1.18.
Таблица 1.18. Свойства объекта WshScriptExec
Свойство Описание ExitCode Содержит код выхода, устанавливаемый дочерней задачей при завершении выполнения ProcessID Содержит идентификатор процесса (ProcessID, PID), которому соответствует объект WshScriptExec Status Содержит информацию о ходе выполнения дочерней задачи StdOut Позволяет сценарию-родителю считывать информацию из стандартного выходного потока запущенной дочерней задачи StdIn Позволяет сценарию-родителю записывать информацию в стандартный входной поток запущенной дочерней задачи StdErr Позволяет сценарию-родителю считывать информацию из стандартного потока ошибок запущенной дочерней задачиБолее 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Объект Folder
Объект Folder Объект Folder обеспечивает доступ к свойствам каталога. Создать этот объект можно с помощью свойства RootFolder объекта Drive или методов GetFolder, GetParentFolder и GetSpecialFolder объекта FileSystemObject следующим образом:var FSO, Folder;FSO = WScript.CreateObject("Scripting.FileSystemObject");Folder = FSO.GetFolder("С:Мои
Объект File
Объект File Объект File обеспечивает доступ ко всем свойствам файла. Создать этот объект можно с помощью метода GetFile объекта FileSystemObject следующим образом:var FSO, F;//Создаем объект FileSystemObjectFSO=WScript.CreateObject("Scripting.FileSystemObject");//Создаем объект FileF=FSO.GetFile("С:Мои документахletter.txt");Также
Объект TextStream
Объект TextStream Объект TextStream обеспечивает последовательный (строка за строкой) доступ к текстовому файлу. Методы этого объекта позволяют читать информацию из файла и записывать ее в него.Создать объект TextStream можно с помощью следующих методов:? CreateTextFile объектов FileSystemObject и
Объект Array
Объект Array Новый объект встроенного класса Array можно создать с помощью оператора new следующими способами:? new Array() — создание массива нулевой длины;? new Array(N) — создание массива длины N;? new Array(а0, a1, ..., aN) — создание массива длины N+1 c элементами а0, a1, ..., aN.Например:var A1, А2, A3;A1 = new
Объект Date
Объект Date Для создания нового объекта встроенного класса Date используется один из трех конструкторов.Конструктор первого вида позволяет создать объект, в котором хранится информация о текущих дате и времени:var d;d = new Date();Здесь время задается по Гринвичу, т.е. с
Объект Enumerator
Объект Enumerator С помощью объекта Enumerator можно получить доступ к любому элементу коллекции (в VBScript для этого служит цикл For…Each). Коллекцией в языке JScript называется множество элементов, которое отличается от массива тем, что к элементам коллекции нельзя получить прямой доступ
Объект Math
Объект Math Встроенный класс Math применяется для математических вычислений и содержит основные математические константы и функции. Замечание Объект Math создается сервером сценариев автоматически и не может быть создан при помощи оператора new, как другие встроенные
Объект String
Объект String Встроенный объект String предназначен для выполнения различных операций над текстовыми строками. Обычно объекты класса String создаются просто с помощью записи в переменную текстового литерала:var s1, s2;s1 = "Это строка";s2 = "Это тоже строка";Также можно создавать такие
Объект CompositeElementLite
Объект CompositeElementLite Вернемся в начало этой главы и вспомним, как мы получали доступ к нужному нам элементу Web-страницы.Мы можем получить доступ к одному элементу Web-страницы:var elCMain = Ext.get("cmain");Или сразу к нескольким:var clContainers = Ext.select("DIV");Мы помним, что метод select объекта Ext
Объект document
Объект document Прежде всего надо отметить, что объект document существует в единственном экземпляре для всего HTML-документа. Он присутствует всегда, если существует HTML-документ, поэтому специально создавать его не требуется.activeElementИспользуется в сценарии для получения ссылки
Объект location
Объект location Объект location содержит информацию о местонахождении текущего документа, т.е. его интернет-адрес. Его также можно использовать для перехода на другой документ и перезагрузки текущего документа.Свойства объекта locationМетоды объекта locationПользуясь объектом location,
Объект style
Объект style Как и все остальные объекты, style поддерживает ряд свойств и методов. Их можно разделить на две группы:иСвойства первой группы в целом аналогичны соответствующим атрибутам стиля и имеют почти такие же имена за тем исключением, что символы "-" убираются, т.к. не
Объект window
Объект window Объект window представляет текущее окно Web-обозревателя или отдельный фрейм, если окно разделено на фреймы.closedВозвращает true, если текущее окно закрыто. Может быть использовано при работе с несколькими окнами.defaultStatusСообщение по умолчанию, отображаемое в строке
Объект layer
Объект layer Все слои, определенные в документе, доступны как элементы коллекции layers.document.layers[2];document.layers["somelayer"];NN поддерживает прямой доступ к слоям по имени. Имена слоям даются с помощью атрибута NAME тегов <LAYER> и <ILAYER>:document.somelayer;Для доступа к слою, находящемуся внутри
Объект
Объект Все, что находится в трехмерном виртуальном пространстве сцены — это объекты. Термин "объект" обозначает нечто, находящееся в трехмерном мире. Что бы мы ни создали в виртуальном пространстве, это будет объект.Существует множество видов объектов. Принадлежность