Windows/_System Programming
프로세스(Process) 생성 소스
Dakuo
2010. 2. 10. 17:05
/*
자식 프로세스(Child Process)
*/
#include <stdio.h> #include <windows.h> #include <tchar.h> #include <locale.h> INT_PTR _tmain(INT_PTR argc, TCHAR* argv[]) { _tsetlocale(LC_ALL, _T("Korean")); _tprintf(_T("자식 프로세스(Child Process) \n")); system("pause"); return 0; }
/* 부모 프로세스(Parent Process : CreateProcess 이용) */ #include <stdio.h> #include <windows.h> #include <tchar.h> #include <locale.h> #define DIR_LEN MAX_PATH+1 INT_PTR _tmain(INT_PTR argc, TCHAR* argv[]) { _tsetlocale(LC_ALL, _T("Korean")); STARTUPINFO si={0}; PROCESS_INFORMATION pi; si.cb = sizeof(si); si.dwFlags = STARTF_USEPOSITION | STARTF_USESIZE; si.dwX=100; si.dwY=200; si.dwXSize = 300; si.dwYSize = 200; si.lpTitle = _T("Hacker Dakuo"); _tprintf(_T("부모 프로세스(Parent Process) \n")); TCHAR command[] = _T("dakuo_C_Process.exe"); BOOL state; state = CreateProcess(NULL, command, NULL, NULL, TRUE, CREATE_NEW_CONSOLE, NULL, NULL, &si, &pi); // CREATE_NEW_CONSOLE : 자식 프로세스를 새로운 콘솔 윈도우로 생성한다. // 콘솔을 기반으로 하지 않는 프로세스에는 의미가 없다 // NULL : 부모 프로세스의 콘솔 윈도우를 자식 프로세스와 공유 if(state!=0) { _tprintf(_T("Creation Sucess\n")); } else { _tprintf(_T("Creation Fail\n")); } system("pause"); return 0; }