HaPpY hApPy

CreateProcess 사용할때 주의할점과 WaitForSingleObject 로 외부 프로그램 혹은 내부 프로세스 종료까지 기다리기 본문

.NET/WinApi

CreateProcess 사용할때 주의할점과 WaitForSingleObject 로 외부 프로그램 혹은 내부 프로세스 종료까지 기다리기

juniguya 2013. 4. 15. 10:17
UNIICODE에서는
 이런식으로 호출해야됨
          TCHAR sz[] = TEXT("CMD");
         CreateProcess(NULL, sz, NULL, NULL, 
            FALSE, CREATE_SUSPENDED, NULL, NULL, &si, &pi);

아래와 같이
          CreateProcess(NULL,"noptepad.exe", NULL, NULL, 
            FALSE, CREATE_SUSPENDED, NULL, NULL, &si, &pi);
"notepad.exe"를 명시해서 호출하면
unhandled exception at kenerbase.dll  에러 발생!!

또한 포문에서 여러번 비슷한 외부 프로그램 실행될때, 너무 빨리 포문이 돌아서 몇몇개 뛰어넘고 실행되는걸 방지하기 위해
WaitForSingleObject 사용
CreateProcess(NULL,mffinger_param_lateralpos[i], NULL, NULL, TRUE, 0, NULL, NULL, &startup_info, &process_info);
				WaitForSingleObject(process_info.hProcess,INFINITE);