C++ Threads
C++ Threads
(OP)
How can I pause the execution of a parent process until the child process is completed? My dilemna is I want to execute an external program via ShellExecute and have the calling process wait until it is done before proceeding. The external program is called using a list of files generated in a listbox control and if I do not wait until the ShellExecute command is completed, my system gets bogged down with multiple instances of the external program.





RE: C++ Threads
memset(&si,0,sizeof(si));
memset(&pi,0,sizeof(pi));
si.cb = sizeof(si);
si.wShowWindow=uCmdShow;
CreateProcess(
NULL, // pointer to name of executable module
lpCmdLine, // pointer to command line string
NULL, // pointer to process security attributes
NULL, // pointer to thread security attributes
FALSE, // handle inheritance flag
NULL, // creation flags
NULL, // pointer to new environment block
NULL, // pointer to current directory name
&si, // pointer to STARTUPINFO
&pi // pointer to PROCESS_INFORMATION
);
WaitForInputIdle(pi.hProcess, 6000);