Азбука программирования в Win32 API


Азбука программирования в Win32 API - стр. 183


Первый аргумент - IpApplicationName - определяет имя исполняемого файла (обязательно указывать имя и расширение файла, автоматически расширение .ехе не подставляется), для которого создается процесс.

Второй аргумент - IpCommandLine определяет передаваемую этому файлу командную строку. Если IpApplicationName равен NULL, то пер­вый (до первого пробела) элемент IpCommandLine считается именем исполняемого файла.

Таким образом, имя исполняемого файла можно передавать как в пер­вом, так и во втором аргументе. Но здесь нужно быть внимательным и не допустить, скажем, такой ситуации, когда IpApplicationName равен «Wordpad.exe», a IpCommandLine - «Wordpad.exe MyFile.doc». Нетрудно догадаться к чему это приведет.

Третий и четвертый аргументы определяют атрибуты доступа к про­цессу и потоку соответственно. Я намеренно употребил слово «должны», ибо Windows'95 системы разграничения доступа не имеет. В Windows'95 эти значения, как правило, равны NULL.

Очередное поле - dwCreationFlag - является комбинацией битовых флагов. Одна группа битовых флагов определяет способ создания процесса.

220

Флаги способа создания процесса

Флаг DEBUG_PROCESS (0x00000001) устанавливается в тех случаях, когда родительский процесс должен осуществлять отладку порождаемого процесса и всех его потомков. Система будет оповещать родительский процесс о возникновении определенных событий в порождаемом процес­се и его потомках.

Флаг DEBUG_ONLY_THIS_PROCESS (0x00000002) почти эквивален­тен предыдущему, разница состоит в том, что система будет оповещать о событиях только в порождаемом процессе, но не в его потомках.

Флаг CREATE_SUSPENDED (0x00000004) указывает, что главный поток порождаемого процесса создается, но не выполняется до вызова функции ResumeThreadQ. Этот флаг обычно используется в отладчиках.

Флаг DETACHED PROCESS (0x00000008) запрещает создаваемому консольному процессу использовать консоль родительского процесса. Порождаемый процесс вынужден будет вызвать функцию AllocConsoleQ для получения собственной консоли.




Начало  Назад  Вперед



Книжный магазин