1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
if (SendDlgItemMessage(IDC_MSN, BM_GETCHECK) == BST_CHECKED)
{
strApp=m_Path;
strApp+="\\allo\\Install_Messenger.exe";
TempChar = (LPTSTR) (LPCTSTR) strApp;
/* La structure si est utilisée en entrée donc elle doit être mpérativement initialisée */
ZeroMemory(&si, sizeof(si));
/* Pas la peine d'initialiser la structure pi car elle sera écrite et non lue */
if (CreateProcess( TempChar, /* Nom de l'exécutable */
NULL, /* Arguments de la ligne de commande */
NULL, /* Attributs de sécurité du nouveau processus (processus fils) */
NULL, /* Attributs de sécurité du thread principal */
FALSE, /* Le processus fils héritera t-il des handles du processus père */
0, /* Flags de création */
NULL, /* Variables d'environnement */
NULL, /* Répertoire courant */
&si, /* Paramètres d'initialisation du processus */
&pi /* Informations sur le processus */ ))
{
WaitForSingleObject(pi.hProcess, INFINITE); /* Attendre la fin du processus */
CloseHandle(pi.hProcess); /* Fermer le handle vers le processus */
CloseHandle(pi.hThread); /* Fermer le handle vers le thread principal du processus */
//Programme installé
m_MsnOK.ShowWindow(TRUE);
}
} |
Partager