void CShutDownDlg::Launch()
{
int iValue = AfxMessageBox("Attention !\n l'ordinateur s'eteindra à la fin de l'application\n\n Voulez-vous continuer ?", MB_YESNO, 0 );
if (iValue == IDYES )
{
STARTUPINFO sui ;
PROCESS_INFORMATION pi ;
sui.cb = sizeof (STARTUPINFO);
GetStartupInfo (&sui);
sui.dwFlags = STARTF_USESHOWWINDOW ;
sui.wShowWindow = SW_MINIMIZE ;
// Creation du process
CreateProcess (m_Path,
NULL,
NULL,
NULL,
FALSE,
CREATE_DEFAULT_ERROR_MODE|HIGH_PRIORITY_CLASS,
NULL,
NULL,&sui,&pi);
m_PID = pi.dwProcessId;
UpdateData(FALSE);
ShowWindow(SW_HIDE);
// Attente de la fin du process fils
WaitForSingleObject(pi.hProcess, INFINITE);
Exit();
}
}