외부 프로그램을 순차 적으로 실행하는걸 만들려구 하는데요..
방법을 찾아보니 두가지가 있더군요..
하나는
CreateProcess(nil, zAppName, nil, nil, false,
CREATE_SEPARATE_WOW_VDM or NORMAL_PRIORITY_CLASS,
nil, nil, StartupInfo, ProcessInfo)
후에
WaitforSingleObject(ProcessInfo.hProcess,INFINITE); GetExitCodeProcess(ProcessInfo.hProcess,TmpResult);
를 하는 것이고
다른 하나는
CreateProcess(PChar(FilePath), PChar(CmdLine),
nil, nil, false, DETACHED_PROCESS + HIGH_PRIORITY_CLASS,
nil, nil, StartInfo, ProcessInfo );
후에
while True do begin
GetExitCodeProcess(ProcessInfo.hProcess, IsTerminated);
if (IsTerminated = 0) or (IsTerminated = 1) then
break;
end;
를 하는 방법이더군요..
근데 이방법들은 모두 생성하는 단일 프로세서에 밖에 적용이 안되더라구요..
무슨 예기냐 하면 제가 실행하고자 하는 외부 프로그램이
실행된다음 또다른 프로세서를 실행시키고 자신은 죽어버리는
프로그램이라서....
실행시킨 프로그램이 죽는 순간 다음 작업이 이루어 집니다.
이건 제가 바라는 결과가 아니라서...
혹시 이런경우 어떻게 하면 좋을까요?
실행시킨 프로그램이 생성하는 프로세서 까지 모두 종료후에
다음작업을 진행하는 방법....
혹시 아시는분 좀 가르쳐 주세요..