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... }

Rispondi quotando