codice:
void CView::OnEseguiAnalisi()
{
......................
........................
sprintf(Percorso, "%s%s",conf.DirProgrammi,"\\Analisi.exe");
STARTUPINFO si;
PROCESS_INFORMATION ProcessInfo;
BeginWaitCursor();
for ( i = 0; i <= NElem; i++ )
{
pA = Stru::ind2p(i);
if ( pA == NULL )
continue;
IdA = pA->getId();
Ts = pA->getTipoStrutturale();
if ( Ts != 99 )
continue;
Dati(); //Pre-Analisi
si.cb = sizeof(STARTUPINFO);
si.lpReserved = NULL;
si.lpTitle = NULL;
si.lpDesktop = "WinSta0\\Default";
si.dwX = 10, si.dwY = 10;
si.dwXSize = si.dwYSize = 0L;
si.dwFlags = 0;
si.wShowWindow = SW_SHOW;
si.lpReserved2 = NULL;
si.cbReserved2 = 0;
if (!CreateProcess(Percorso
,NULL //lpszCmdLine
,NULL
,NULL
,FALSE
,0
,NULL
,NULL
,&si
,&ProcessInfo)) //Attiva Analisi.exe
{
// Gestione errori
AfxMessageBox("Errore nell'attivazione Analisi.EXE");
CloseHandle(ProcessInfo.hProcess);
CloseHandle(ProcessInfo.hThread);
break;
}
WaitForSingleObject(ProcessInfo.hProcess, INFINITE);
CloseHandle(ProcessInfo.hProcess);
CloseHandle(ProcessInfo.hThread);
}
}
EndWaitCursor();
CWnd::SetFocus(); //Non funziona...
}