Create_Process

Process ››
Parent Previous Next

Язык программирования FreeBasic

 

Create_Process

Create_Process(FileName,[DirDefault=""],[flag=0],[STARTUPINFO_=0],[PROCESS_INFORMATION_=0])

Функция запускает процесс и возвращает глобальный идентификатор процесса.Если вы будете использовать структуру 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 , которая принимает идентифицирующую информацию о новом процессе.

Пример:


#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)



http://mneniya.ucoz.ru/

Created with the Personal Edition of HelpNDoc: Free EPub and documentation generator