Създаване на процеси

// Започнете процеса на дете.

ако (! CreateProcess (NULL. // Няма име модул (с използване на командния ред).

"MyChildProcess", // Command Prompt.

NULL. // дръжка не наследствена процес.







NULL. // обработи поток не е наследствено.

FALSE. // Задаване на наследството Характеристиката на FALSE.

0, // създаване на флагове там.

NULL. // среда блок Използване на родителите си.

NULL. // Използвайте започне родителската директория.

SI, // Стрелката за структуриране STARTUPINFO.

PI) // Стрелката за структуриране PROCESS_INFORMATION.







ErrorExit ( "CreateProcess провали.");

// чака до тогава, докато процесът на детето е без работа.

WaitForSingleObject (pi.hProcess, безкрайност);

// затваря потока процес и характеристиките.

Ако CreateProcess успее, той се връща структура PROCESS_INFORMATION. съдържащ дескриптори и идентификатори за новия процес и първичния поток. Описания поток и процес са създадени с пълни права за достъп, въпреки че достъпът може да бъде ограничено, ако сте задали дескриптори за сигурност. Когато вече не е необходимо тези описания, а след това ги затворете с помощта на функцията CloseHandle.

Можете също да създавате и процес, използващ CreateProcessAsUser функция или CreateProcessWithLogonW. Тези функции позволяват да определите контекста на сигурността на потребителския акаунт, в която се извършва обработката.