1) Функция создания процесса:
BOOL CreateProcess(
PCTSTR pszApplicationName, //имя исполняемого модуля
PTSTR pszCommandLine, // командная строка
PSECURITY_ATTRIBUTES psaProcess, //указатель на структуру SECURITY_ATTRIBUTES
PSECURITY_ATTRIBUTES psaThread, //указатель на структуру SECURITY_ATTRIBUTES
BOOL bInheritHandles, // флаг наследования текущего процесса
DWORD fdwCreate, // флаги способов создания процесса
PVOID pvEnvironment, // указатель на блок памяти, хранящий строки переменных окруженияPCTSTR pszCurDir, // текущий диск и каталог для дочернего процесс а
PSTARTUPINFO psiStartInfo, // указатель на структуру STARTUPINFO
PPROCESS_INFORMATION ppiProcInfo); // указатель на структуру PROCESS_INFORMATION
2) Функция, которой приостанавливаем выполнение родительского процесса, пока не завершится дочерний процесс:DWORD WaitForSingleObject(HANDLE hObject, DWORD dwTimeOut);3) Процесс завершается, когда один из его потоков вызывает ExitProcess:
VOID ExitProcess(UINT fuExitCode);
Эта функция завершает процесс и заносит в параметр fuExitCode код завершения процесса. Возвращаемого значения у ExitProcess нет, так как результат ее действия — завершение процесса. Если за вызовом этой функции в программе присутствует какой-нибудь код, он никогда не исполняется.
|
|
4) Вызов функции TerminateProcess тоже завершает процесс: BOOL TerminateProcess(HANDLE hProcess, UINT fuExitCode);
Главное отличие этой функции от ExitProcess в том, что ее может вызвать любой поток и завершить любой процесс. Параметр hProcess идентифицирует описатель завершаемого процесса, а в параметре fuExitCode возвращается код завершения процесса.
5) Родительский процесс, вызвав функцию GetExitCodeProcess, может проверить, завершен ли процесс, идентифицируемый параметром hProcess, и, если да, определить код завершения:
BOOL GetExitCodeProcess(HANDLE hProcess, PDWORD pdwExitCode);
Код завершения возвращается как значение типа DWORD, на которое указывает pdwExitCode.
6) Обнуляет счетчик обьекта (закрытие процесса):
CloseHandle(HANDLE hProcess); // описатель завершаемого процесса