.


:




:

































 

 

 

 





Microsoft Visual Studio (C++).

. .

CreateProcess . :

.

lpCommandLine , CreateProcess . , . , .exe.

lpApplicationName NULL, lpCommandLine.

lpProcessAttributes. . NULL .

lpThreadAttributes. . NULL .

bInheritHandles. , . . , .

dwCreationFlags. . ( ):

CREATE_NEW_CONSOLE - , .

CREATE_NEW_PROCESS_GROUP - - .

CREATE_SEPARATE_WOW_VDM - ( Windows NT): , Virtual DOS Machine (VDM).

CREATE_SHARED_WOW_VDM - ( Windows NT): CreateProcess Virtual DOS Machine.

HIGH_PRIORITY_CLASS - , .

IDLE_PRIORITY_CLASS - , .

NORMAL_PRIORITY_CLASS - , - .

REALTIME_PRIORITY_CLASS - , .

lpEnvironment. . NULL, . = .

lpCurrentDirectory. . NULL, .

LpStartupInfo. , . STARTUPINFO . . STARTUPINFO , cb .

STARTUPINFO sti;//

ZeroMemory(&sti,sizeof(STARTUPINFO));//

sti.cb=sizeof(STARTUPINFO);//

lpProcessInformation PROCESS_INFORMATION . Windows.

CreateProcess STARTUPINFO PROCESS_INFORMATION:

CreateProcess.

, CreateProcess TRUE PROCESS_INFORMATION, :

:

, WinMain, ( ).

ExitProcess.

TerminateProcess ( ).

.

(detached processes). , , . Explorer. , .

() Sleep():

VOID Sleep(

DWORD dwMilliseconds //

);

Sleep , . () , .

Sleep, . .

CreateThread :

HANDLE CreateThread(LPSECURITY_ATTRIBUTES lpThreadAttributes DWORD dwStackSize, LPTHREAD_START_ROUTINE lpStartAddress, LPVOID lpParameter, DWORD dwCreationFlags, LPDWORD lpThreadId);

 

lpSecurityAttributes - , .

dwStackSize - . .

lpStartAddress - , . ( ).

lpParameter - long 32 , .

dwCreationFlags - 32 , (, ..).

lpThreadId - , .

:

for (i=0;i<num;i++) {

hThread[i]=CreateThread(NULL,//

0, //

LPTHREAD_START_ROUTINE) unit, //

(LPVOID)i, //

0, //

&IDThread);//

if (hThread[i] == NULL)

printf(" #%d\n", i);

else

printf(" %Lu #%d\n",hThread[i], i); }





:


: 2017-02-28; !; : 373 |


:

:

, .
==> ...

1286 - | 1253 -


© 2015-2024 lektsii.org - -

: 0.015 .