Интерфейс Executor

Позволяет создать процесс. Подробнее...

Граф наследования:Executor:

Inheritance graph
Граф связей класса Executor:

Collaboration graph
Полный список членов класса

Открытые члены

 Execute ([out, retval] VARIANT_BOOL *Result)
 Запускает процесс.
 Wait ([in, defaultvalue(0xFFFFFFFF)] ULONG TimeOut,[out, retval] VARIANT_BOOL *Result)
 Ожидание завершения процесса.
 Terminate ([in, defaultvalue(1)] ULONG ProcessExitCode,[out, retval] VARIANT_BOOL *Result)
 Завершает процесс.

Свойства

BSTR RW ApplicationName []
 Имя модуля для запуска.
BSTR RW CommandLine []
 Командная строка запуска процесса.
ULONG R ExitCode []
 Возвращает код завершения процесса.
BSTR RW IntegrityLevel []
 Определяет использование механизма целостности Windows (Windows Integrity Mechanism) при запуске процесса.
IDispatch *R Error []
 Если произошла ошибка запуска процесса, возвращает объект Error, содержащий информацию об ошибке.
VARIANT W OnComplete []
 Задает обработчик события OnComplete.

Подробное описание

Позволяет создать процесс.

См. также ExecutorEvents.

Пример (JScript):

o = new ActiveXObject("Scripting.WindowSystemObject")

ext = new ActiveXObject("Scripting.WindowSystemObjectExtensions")

f = o.CreateForm(0,0,0,0)

f.ClientWidth = 500
f.ClientHeight = 300
f.CenterControl()

top = 10

for (i = 0; i<3; i++)
{
        f.TextOut(10,top,"Process: "+i);
        
        status = f.TextOut(100,top,"")

        executor = ext.CreateExecutor()
        executor.CommandLine = "calc.exe"
        executor.UserData = status
        executor.OnComplete = function(Sender)
        {
                Sender.UserData.Text = "Completed/"+Sender.ExitCode
        }

        top += 30

        if (executor.Execute())
                status.Text = "Started"; else
                status.Text = "Error"

        
}


f.Show()

o.Run()

Начиная с:
1.1.17.


Методы

Execute ( [out, retval] VARIANT_BOOL *  Result  ) 

Запускает процесс.

Возвращаемые значения:
Result "TRUE" - процесс успешно запущен.

Terminate ( [in, defaultvalue(1)] ULONG  ProcessExitCode,
[out, retval] VARIANT_BOOL *  Result 
)

Завершает процесс.

Аргументы:
ProcessExitCode Код завершения процесса.
Возвращаемые значения:
Result Если "TRUE", то процесс успешно завершен.

Wait ( [in, defaultvalue(0xFFFFFFFF)] ULONG  TimeOut,
[out, retval] VARIANT_BOOL *  Result 
)

Ожидание завершения процесса.

Аргументы:
TimeOut Время ожидания в секундах. 0xFFFFFFFF = INFINITY - время ожидания не ограничено.
Возвращаемые значения:
Result Если "TRUE", то процесс завершен.


Полный список свойств

BSTR RW ApplicationName

Имя модуля для запуска.

ApplicationName может быть пустой строкой. В этом случае имя модуля для запуска определятся первым компонентом в CommandLine.

Если используется путь к модулю, который содержит пробелы, то его нужно заключить в двойные кавычки, иначе модуль запускаемого процесса нельзя определить однозначно. Например, рассмотрим строку "c:\program files\sub dir\program name", эта строка может быть проинтерпретирована различными способами:

См. также:
CreateProcess в MSDN.

BSTR RW CommandLine

Командная строка запуска процесса.

Максимальная длина 32K символов.

Если ApplicationName = пустая строка, первый компонент в CommandLine является именем модуля и его длина ограничена MAX_PATH.

CommandLine может быть пустой строкой. В этом случае Executor использует ApplicationName в качестве командной строки.

IDispatch* R Error

Если произошла ошибка запуска процесса, возвращает объект Error, содержащий информацию об ошибке.

ULONG R ExitCode

Возвращает код завершения процесса.

BSTR RW IntegrityLevel

Определяет использование механизма целостности Windows (Windows Integrity Mechanism) при запуске процесса.

Задает уровень целостности процесса.

Данный параметр может принимать следующие значения:

Примечание. Если IntegrityLevel="" то используется функция WINAPI CreateProcess, иначе CreateProcessAsUser.

Примечание. Только для Windows Vista и последующих версий.

Пример (JScript):

o = new ActiveXObject("Scripting.WindowSystemObject")

ext = new ActiveXObject("Scripting.WindowSystemObjectExtensions")

f = o.CreateForm(0,0,0,0)

f.ClientWidth = 500
f.ClientHeight = 300
f.CenterControl()

f.TextOut(10,10,"Integrity level:")

integrityLevel = f.CreateComboBox(100,10,100,25)
integrityLevel.Add("Untrusted")
integrityLevel.Add("Low")
integrityLevel.Add("Medium")
integrityLevel.Add("High")
integrityLevel.Add("System")

label = f.TextOut(10,40,"")

button = f.CreateButton(220,10,75,25,"Start")
button.OnClick = function(){
        executor = ext.CreateExecutor()
        executor.CommandLine = "notepad.exe"
        executor.IntegrityLevel = integrityLevel.Text
        executor.OnComplete = function(Sender){
                label.Text = "Completed/"+Sender.ExitCode
        }
        if (executor.Execute())
        {
                label.Text = "Started"
        } else
        {
                label.Text = "Error/"+executor.Error.Number+"/"+executor.Error.Description+"/"+executor.Error.Comment
        }
}

button = f.CreateButton(300,10,75,25,"Terminate")
button.OnClick = function(){
        executor.Terminate(10)
}

button = f.CreateButton(380,10,75,25,"Wait")
button.OnClick = function(){
        f.MessageBox("Wait result: "+executor.Wait())
}


f.Show()

o.Run()

VARIANT W OnComplete

Задает обработчик события OnComplete.

Данное событие возникает при завершении процесса.


Документация по WSO 1.1. Последние изменения:Wed Aug 12 18:10:41 2015. (C) Веретенников А. Б. 2004-2015