먼저 님께서 하고자 하는게 정확히 무엇인지 궁금하네요
dzb.exe , dzx.exe , dzc.exe 이 세개의 실행파일을 실행 시키고
해당 프로그램이 종료하면 그 실행파일을 삭제하려고 한다구요?
프로그램에서 직접 실행했으니..
굳이 실행파일명으로 process를 찾을 필요가 없을거 같은데요
프로그램을 실행할때 ShellExecute 대신
ShellExecuteEx 나 CreateProcess로 실행하세요
그러면 방금실행한 process의 handle을 바로 얻을 수 있습니다.
그런다음 WaitForSingleObject 로 그 프로세서가 종료될때까지 기다리면 되구요
// WaitForSingleObject(hProcess,INFINITE);
여러개를 한번에 실행하고 여러개의 종료를 기다려야 한다면
WaitForMultipleObjects 로 기다려도 되구....
뭐 그런식으로 하면 됩니다.
그럼..
시온스 님이 쓰신 글 :
: 지금 임시적으로 프로그램을 실행하는 것을 만들고있는데요.
:
: 대충 3개정도 되는 다른 프로그램들이 먼저 시작되고나서 그 프로그램들이 종료되면 그 파일들을 삭제해주려고해요.
:
:
:
:
: HWND hwnd;
: HINSTANCE instance;
: if((instance = ShellExecute( hwnd, "OPEN", "dzb.exe", NULL, NULL, 0)) == false)
: {
: ShowMessage("DZB.exe를 실행할 수 없습니다.");
: return;
: }
:
: // dzb가 종료될때까지 기다림
:
: if((instance = ShellExecute( hwnd, "OPEN", "dzx.exe", NULL, NULL, 0)) == false)
: {
: ShowMessage("DZX.exe를 실행할 수 없습니다.");
: return;
: }
:
: // dzx가 종료될때까지 기다림
:
: if((instance = ShellExecute( hwnd, "OPEN", "dzc.exe", NULL, NULL, 0)) == false)
: {
: ShowMessage("DZC.exe를 실행할 수 없습니다.");
: return;
: }
:
:
:
: 이런식으로 돼 있는데요.
:
: 여기서 프로세스가 종료될때까지 기다리는걸 어떻게 처리해야할지 모르겠어요;
:
: findwindow로 dzc.exe를 찾는방법도 모르거니와 이렇게해서는 안되구요.;
:
: hinstance나 hwnd받아온걸로 종료될때까지 기다리고싶은데요. 방법이 없나요?