09-03-2007 11:35 AM
09-03-2007 01:13 PM
09-03-2007 01:24 PM
09-04-2007 06:27 AM
ZeroMemory(&si,sizeof(si)); si.cb=sizeof(si);
bRetour=CreateProcess(NULL,szCdeWait, NULL,NULL,FALSE,DETACHED_PROCESS,NULL,NULL,&si,&pi);
if (bRetour==TRUE)
{
// Test de l'etat du process WAIT.EXE jusqu'a ce qu'il soit terminé a moins que l'utilisateur n'arrête le scanning
bArretScanning = FALSE;
do
{
dwRetour = WaitForSingleObject(pi.hProcess,0); // Test et retour immédiat
if(dwRetour == WAIT_OBJECT_0) break; // Fin du process alors sortie du do-while
// Test du bouton CANCEL de la boite de progression
if (DlgProgression.CheckCancelButton())
{
// Affichage de la boite de dialogue de confirmation
if (AfxMessageBox(_T("Voulez vous réellement arrêter le gamma scanning ?"),MB_YESNO)==IDYES)
{
// Indication de l'arret demandé par l'utilisateur
bArretScanning = TRUE;
// Arret du process WAIT.EXE
Retour = TerminateProcess (pi.hProcess, 0);
}
}
09-04-2007 07:10 AM