Hola.
En lugar de
ShellExecute tendrías que usar
CreateProcess y
WaitForSingleObject.
Un ejemplo para llamar a la calculadora de windows y esperar a que esta cierre para continuar:
Código:
{
STARTUPINFO StartInfo;
PROCESS_INFORMATION ProcInfo;
memset(&ProcInfo, 0, sizeof(ProcInfo));
memset(&StartInfo, 0 , sizeof(StartInfo));
StartInfo.cb = sizeof(StartInfo);
if ( CreateProcess("C:\\WINDOWS\\SYSTEM32\\CALC.EXE",NULL, NULL, NULL, NULL,
NULL, NULL, NULL, &StartInfo, &ProcInfo) ) {
WaitForSingleObject(ProcInfo.hThread, INFINITE);
SetFocus();
}
// Continuar ...
}
Saludos.