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