프로세스
프로세스(Process)
프로세스란 실행중인 프로그램을 말한다. 프로세스를 프로그램이라고 생각하면 안된다. 프로그램이 실행되면서 인스턴스화 된 것. 프로그램의 인스턴스가 프로세스이다. 운영체제는 실행된 프로그램을 프로세스 단위로 관리한다.
프로세스는 실제로 작업을 처리하지는 않는다 내부에 있는 쓰레드에서 작업을 담당한다. 프로세스는 최소한 한 개 이상의 쓰레드를 가진다.
프로세스를 생성하는 함수는 세가지가 있다.
UINT WinExec(LPCSTR lpCmdLine, UINT uCmdShow);
DWORD LoadModule(LPCSTR lpModuleName, LPVOID lpParameterBlock);
BOOL CreateProcess(LPCTSTR lpApplicationName, LPTSTR lpCommandLine,
LPSECURITY_ATTRIBUTES lpProcessAttributes,
LPSECURITY_ATTRIBUTES lpThreadAttributes,
BOOL bInheritHandles,
DWORD dwCreationFlags,
LPVOID lpEnvironment,
LPCTSTR lpCurrentDirectory,
LPSTARTUPINFO lpStartupInfo,
LPPROCESS_INFORMATION lpProcessInformation);
32비트 이상에서는 일반적으로 CreateProcess 함수를 사용하지만 아주 간단한 실행이라면 WinExec를 사용해도 무방하다.
LoadModule함수의 경우도 상관은 없지만 구조체를 작성해서 인자로 넘겨야하기때문에 까다롭고 손이 많이 간다. 그렇기때문에 LoadModule보다는 CreateProcess함수를 추천한다.
출처 - 윈도우즈 API 정복
'Program Languege > WinAPI' 카테고리의 다른 글
공통 대화상자 - 1 (0) | 2014.05.05 |
---|---|
스레드 (0) | 2014.04.29 |
TransparentBlt, AlphaBlend, GdiTranslaparentBlt, GdiAlphaBlend (0) | 2014.04.15 |
QueryPerformance (0) | 2014.04.10 |
PeekMessage (0) | 2014.04.10 |