|
|
||
2. Создание процессов |
||
Новый процесс в Windows создается вызовом функции CreateProcess, которая имеет следующий прототип: Функция CreateProcess возвращает ненулевое значение, если процесс был создан успешно. В противном случае эта функция возвращает значение FALSE. Процесс, который создает новый процесс, называется родительским процессом (parent process) по отношению к создаваемому процессу. Новый же процесс, который создается другим процессом, называется дочерним процессом (child process) по отношению к процессу-родителю. Сейчас мы опишем только назначение некоторых параметров функции CreateProcess. Остальные параметры этой функции будут описываться по мере их использования. Первый параметр lpApplicationName определяет строку с именем исполняемого файла, который имеет тип ехе и будет запускаться при создании нового процесса. Эта строка должна заканчиваться нулем и содержать полный путь к исполняемому файлу. Для примера рассмотрим программу, которая выводит на консоль свое имя и параметры. Эта программа приведена в листинге 4.1. Листинг 4.1. Программа, которая выводит на консоль свое имя и параметры |
||
#include <conio.h> int main(int argc, char *argv[]) _cputs("I am created."); _cputs("\nMy name is: "); for (i = 1; i < argc; ++i) _cputs("\nPress any key to finish.\n"); |
||
Скомпилируем эту программу. Полученный exe-файл сохраним на диске C: и назовем ConsoleProcess.exe. Наша задача состоит в запуске этого файла как нового процесса. Как это сделать показано в листинге 4.2, где приведена программа, запускающая созданный exe-файл как консольный процесс с новой консолью.
|
||
2 |