Windows System Programming Process Tutor 20060106 Create Process

  • Slides: 10
Download presentation
Windows System Programming -Process Ⅱ- Tutor: 20060106 배문희

Windows System Programming -Process Ⅱ- Tutor: 20060106 배문희

프로세스 생성하기 Create. Process 프로세스 간의 관계 Process A Create. Process에 의한 생성! Create.

프로세스 생성하기 Create. Process 프로세스 간의 관계 Process A Create. Process에 의한 생성! Create. Process. W( LPCWSTR lp. Application. Name, LPWSTR lp. Command. Line, LPSECURITY_ATTRIBUTES lp. Process. Attributes, LPSECURITY_ATTRIBUTES lp. Thread. Attributes, BOOL b. Inherit. Handles, DWORD dw. Creation. Flags, LPVOID lp. Environment, LPCWSTR lp. Current. Directory, LPSTARTUPINFOW lp. Startup. Info, LPPROCESS_INFORMATION lp. Process. Information ); 2009 -03 -31 호남대학교 정보통신공학과 Process B 4

프로세스 생성하기 예제 Create. Process STARTUPINFO si = {0, }; PROCESS_INFORMATION pi; // 1단계:

프로세스 생성하기 예제 Create. Process STARTUPINFO si = {0, }; PROCESS_INFORMATION pi; // 1단계: STARTUPINFO 구조체변수의생성및초기화 si. cb = sizeof(si); // 구조체변수의크기 si. dw. Flags = STARTF_USEPOSITION | STARTF_USESIZE; // 설정된멤버의정보 si. dw. X = 100; // 프로세스윈도우의x좌표 si. dw. Y = 200; // 프로세스윈도우의y좌표 si. dw. XSize = 300; // 프로세스윈도우의가로길이 si. dw. YSize = 200; // 프로세스윈도우의세로길이 si. lp. Title = _T("I am boy!"); // 콘솔윈도우의타이틀바제목 //-------------------------------TCHAR command[] = _T("Adder. Process. exe 10 20"); TCHAR c. Dir[DIR_LEN]; BOOL state; // 2단계: 현재디렉터리의설정 Set. Current. Directory(_T("E: \Tutor\Win. System. Programming_Tutor\De bug")); // 3단계: Create. Process 함수의호출 state = Create. Process( NULL, command, NULL, TRUE, CREATE_NEW_CONSOLE, NULL, &si, &pi ); // Create. Process Adder. Process #include <stdio. h> #include <tchar. h> #include <windows. h> int _tmain(int argc, TCHAR* argv[]) { DWORD val 1, val 2; val 1 = _ttoi(argv[1]); val 2 = _ttoi(argv[2]); _tprintf(_ T("%d + %d = %d n"), val 1, val 2, val 1 + val 2); _gettchar(); } return 0; if(state != 0) _fputts(_T("Creation OK! n"), stdout); else _fputts(_T("Creation Error! n"), stdout); 2009 -03 -31 호남대학교 정보통신공학과 6