crearea de procese

// Începe procesul de copil.

if (! CreateProcess (NULL. // Nu nume de modul (folosind linia de comandă).

"MyChildProcess", // Command Prompt.

NULL. // se ocupe de proces nu moștenea.







NULL. // se ocupe de fluxul nu este moștenită.

FALS. // Setați descriptorul moștenire la FALSE.

0, // steaguri de creație acolo.

NULL. // blocul mediu de utilizare părinte.

NULL. // Utilizați directorul părinte de pornire.

si, // pointer la structura STARTUPINFO.

pi) // pointer la structura PROCESS_INFORMATION.







ErrorExit ( "CreateProcess nu a reușit.");

// așteptați până atunci, până când procesul copil este de lucru.

WaitForSingleObject (pi.hProcess, INFINITE);

// Închideți fluxul de proces și descriptori.

Dacă CreateProcess reușește, returnează o structură PROCESS_INFORMATION. cuprinzând descriptori și identificatorii pentru noul proces și fluxul primar. flux și procesul de Descriptorii sunt create cu drepturi de acces deplin, cu toate că accesul poate fi limitat, dacă setați descriptorii de securitate. Când nu mai este nevoie de acești descriptori, apoi închideți-le folosind funcția CloseHandle.

De asemenea, puteți crea și proces utilizând funcția CreateProcessAsUser sau CreateProcessWithLogonW. Aceste funcții vă permit să specificați contextul de securitate al contului de utilizator în care procesul se desfășoară.