Create_Process

Process ››
Parent Previous Next

Create_Process

Синтаксис

Function Create_Process(ByRef FileName As String, ByRef DirDefault As String="", ByVal flag As Integer=0, ByVal STARTUPINFO_ As STARTUPINFO Ptr=0, ByVal PROCESS_INFORMATION_ As PROCESS_INFORMATION Ptr=0) As Integer

Описание

Функция запускает процесс и возвращает глобальный идентификатор процесса.Если вы будете использовать структуру PROCESS_INFORMATION или STARTUPINFO, то после того как убедитесь, что хендлы структуры не нужны, нужно освобождать ресурсы (хендлы) функцией CloseHandle()

Параметры

FileName - Имя файла для запуска, можно с параметром(и)через пробел

DirDefault - Директория для запуска по умолчанию

flag - флаг, может быть:
CREATE_DEFAULT_ERROR_MODE  - Новый процесс не наследует режим ошибок (error mode) вызывающего процесса.
CREATE_NEW_CONSOLE  - Новый процесс получает новую консоль вместо того, чтобы унаследовать родительскую.
CREATE_NEW_PROCESS_GROUP  - Создаваемый процесс - корневой процесс новой группы.
CREATE_SEPARATE_WOW_VDM  - только Windows NT: Если этот флаг установлен, новый процесс запускается в собственной Virtual DOS Machine (VDM).
CREATE_SHARED_WOW_VDM  - только Windows NT: Этот флаг указывает функции CreateProcess запустит новый процесс в разделяемой Virtual DOS Machine.
CREATE_SUSPENDED  - Первичная нить процесса создается в спящем (suspended) состоянии и не выполняется до вызова функции ResumeThread.
CREATE_UNICODE_ENVIRONMENT  - Если этот флаг установлен, блок переменных окружения, указанный в параметре lpEnvironment, использует кодировку Unicode. Иначе - кодировку ANSI.
DEBUG_PROCESS  - Если этот флаг установлен, вызывающий процесс считается отладчиком, а новый процесс - отлаживаемым.
DEBUG_ONLY_THIS_PROCESS  - Если этот флаг не установлен и вызывающий процесс находится под отладкой, новый процесс так же становится отлаживаемым тем же отладчиком.
DETACHED_PROCESS  - Создаваемый процесс не имеет доступа к родительской консоли. Этот флаг нельзя использовать с флагом CREATE_NEW_CONSOLE.
HIGH_PRIORITY_CLASS  - Указывает на то, что процесс выполняет критичные по времени задачи
IDLE_PRIORITY_CLASS  - Указывает процесс, выполняются только когда система находится в состоянии ожидания
NORMAL_PRIORITY_CLASS  - Указывает на процесс, без каких либо специальных требований к выполнению .
REALTIME_PRIORITY_CLASS  - Указывает процесс имеющий наивысший возможный приоритет .
ABOVE_NORMAL_PRIORITY_CLASS  - Указывает процесс имеющий приоритет выше среднего.
BELOW_NORMAL_PRIORITY_CLASS  - Указывает процесс имеющий приоритет ниже среднего.

STARTUPINFO_ - Адрес вашей объявленной структуры STARTUPINFO ,которая устанавливает оконный режим терминала, рабочий стол, стандартные дескрипторы и внешний вид главного окна для нового процесса

PROCESS_INFORMATION_ - Адрес вашей объявленной структуры PROCESS_INFORMATION , которая принимает идентифицирующую информацию о новом процессе

Платформы

Windows

Пример

#Include "window9.bi"
Var prr=Open_Process(Create_Process("Notepad.exe"))
Sleep(3000)
WaitLoadProcess(prr)
KillProcess(prr,22)
WaitExitProcess(prr)
? GetExitCode(prr)
Sleep(2000)
CloseHandle(prr)

Результат

22

Created with the Personal Edition of HelpNDoc: Single source CHM, PDF, DOC and HTML Help creation