Основы программирования в Win32API. Марапулец Ю.В. - 21 стр.

UptoLike

Составители: 

Функция возвращает TRUE в случае успеха и FALSE – в случае неудачи.
Рассмотрим более подробно аргументы функции:
lpApplicationName – указатель на строку, содержащую имя исполняемой
программы. Имя может быть полное. Если оно неполное, то поиск файла про-
изводится в текущем каталоге. Параметру может быть присвоено значение
NULL. В этом случае в качестве имени файла выступает первая, выделенная
пробелами лексема из строки lpCommandLine;
lpCommandLine – указатель командной строки. Если параметр lpApplica-
tionName имеет значение NULL, то имя исполняемого файла выделяется из
lpCommandLine, а поиск исполняемого файла производится в соответствии
с правилами, действующими в системе;
lpProcessAttributes – указатель на структуру, описывающую параметры
защиты процесса. Если параметру присвоено значение NULL, то устанавлива-
ются атрибуты «по умолчанию»;
lpThreadAttributes – указатель на структуру, описывающую параметры
защиты первичного потока. Если параметру присвоено значение NULL, то ус-
танавливаются атрибуты «по умолчанию»;
bInheritHandles – определяет, будет ли порожденный процесс наследовать
описатели (handles) объектов родительского процесса. Например, если родитель-
ский процесс AB, то он получил описатель процесса B и может им манипулиро-
вать. Если теперь он порождает процесс C с параметром bInheritHandles, равным
TRUE, то и процесс C сможет работать с описателем процесса B;
dwCreationFlags – определяет некоторые дополнительные условия созда-
ния процесса и его класс приоритета;
lpEnvironment – указатель на блок переменных среды порожденного про-
цесса. Если этот параметр равен NULL, то порожденный процесс наследует
среду родителя. Иначе он должен указывать на завершающийся нулем блок
строк, каждая из которых завершается нулем (аналогично DOS);
lpCurrentDirectory – указатель на строку, содержащую полное имя теку-
щего каталога порожденного процесса. Если этот параметр равен NULL, то
порожденный процесс наследует каталог родителя;
lpStartupInfo – указатель на структуру STARTUPINFO, которая определя-
ет параметры главного окна порожденного процесса;
lpProcessInformation – указатель на структуру, которая будет заполнена
информацией о порожденном процессе после возврата из функции.
Рассмотрим пример на использование данной функции:
// программа, запускающая Microsoft Word
#include <windows.h>
#include <conio.h>
#include <stdio.h>
main()
{
PROCESS_INFORMATION pi;
STARTUPINFO si ;
21
     Функция возвращает TRUE в случае успеха и FALSE – в случае неудачи.
Рассмотрим более подробно аргументы функции:
     lpApplicationName – указатель на строку, содержащую имя исполняемой
программы. Имя может быть полное. Если оно неполное, то поиск файла про-
изводится в текущем каталоге. Параметру может быть присвоено значение
NULL. В этом случае в качестве имени файла выступает первая, выделенная
пробелами лексема из строки lpCommandLine;
     lpCommandLine – указатель командной строки. Если параметр lpApplica-
tionName имеет значение NULL, то имя исполняемого файла выделяется из
lpCommandLine, а поиск исполняемого файла производится в соответствии
с правилами, действующими в системе;
     lpProcessAttributes – указатель на структуру, описывающую параметры
защиты процесса. Если параметру присвоено значение NULL, то устанавлива-
ются атрибуты «по умолчанию»;
     lpThreadAttributes – указатель на структуру, описывающую параметры
защиты первичного потока. Если параметру присвоено значение NULL, то ус-
танавливаются атрибуты «по умолчанию»;
     bInheritHandles – определяет, будет ли порожденный процесс наследовать
описатели (handles) объектов родительского процесса. Например, если родитель-
ский процесс AB, то он получил описатель процесса B и может им манипулиро-
вать. Если теперь он порождает процесс C с параметром bInheritHandles, равным
TRUE, то и процесс C сможет работать с описателем процесса B;
     dwCreationFlags – определяет некоторые дополнительные условия созда-
ния процесса и его класс приоритета;
     lpEnvironment – указатель на блок переменных среды порожденного про-
цесса. Если этот параметр равен NULL, то порожденный процесс наследует
среду родителя. Иначе он должен указывать на завершающийся нулем блок
строк, каждая из которых завершается нулем (аналогично DOS);
     lpCurrentDirectory – указатель на строку, содержащую полное имя теку-
щего каталога порожденного процесса. Если этот параметр равен NULL, то
порожденный процесс наследует каталог родителя;
     lpStartupInfo – указатель на структуру STARTUPINFO, которая определя-
ет параметры главного окна порожденного процесса;
     lpProcessInformation – указатель на структуру, которая будет заполнена
информацией о порожденном процессе после возврата из функции.
     Рассмотрим пример на использование данной функции:
     // программа, запускающая Microsoft Word
     #include 
     #include 
     #include 
     main()
{
     PROCESS_INFORMATION pi;
     STARTUPINFO si ;
                                     21