ShellExecute bloquant

garslouche Messages postés 583 Date d'inscription mardi 26 novembre 2002 Statut Membre Dernière intervention 29 mai 2015 - 13 nov. 2003 à 12:05
cs_supergrey Messages postés 475 Date d'inscription vendredi 27 juin 2003 Statut Membre Dernière intervention 20 septembre 2010 - 9 août 2008 à 20:50
Bonjour,

je voudaris lancer un programme et ne récupérer la main que que celui-ci est terminé.
Y a-t-il une sorte de ShellExecute bloquant ?

Merci.

On ne force pas une curiosité, on l'éveille.
.................................................Daniel Pennac

6 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
13 nov. 2003 à 12:16
CreateProcess(...) fera ce que tu lui diras de faire.
BruNews, ciao...
0
garslouche Messages postés 583 Date d'inscription mardi 26 novembre 2002 Statut Membre Dernière intervention 29 mai 2015 1
13 nov. 2003 à 12:23
Wow, ça c'est de la fonction complexe!
Tu pourrais me dire dans quel paramètre du pramètre du paramètre se trouve l'option "bloquant" stp ?

On ne force pas une curiosité, on l'éveille.
.................................................Daniel Pennac
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
13 nov. 2003 à 12:36
PROCESS_INFORMATION pi;
char szCmdLine[24];
STARTUPINFO si = {sizeof(si)};
DWORD dwExit;
strcpy(szCmdLine, "Enfant.exe");

// on sait si enfant finit correctement dans la minute
BOOL bok = CreateProcess(0, szCmdLine, 0, 0, 0,
CREATE_SUSPENDED, 0, 0, &si, &pi);
if(bok) {
ShowWindow(GetDlgItem(hDlg, IDCANCEL), SW_HIDE);
ResumeThread(pi.hThread);
CloseHandle(pi.hThread);
// attente 1 minute maxi
dwExit = WaitForSingleObject(pi.hProcess, 60000);
CloseHandle(pi.hProcess); if(dwExit WAIT_OBJECT_0) m_bExitChild 1;
PostMessage(hDlg, WM_COMMAND, IDCANCEL, 0);
}

Tu adaptes le dernier param de WaitForSingleObject a ta convenance.
BruNews, ciao...
0
garslouche Messages postés 583 Date d'inscription mardi 26 novembre 2002 Statut Membre Dernière intervention 29 mai 2015 1
13 nov. 2003 à 14:35
Super!
Du coup je vais pouvoir mettre une nouvelle source ce soir!

On ne force pas une curiosité, on l'éveille.
.................................................Daniel Pennac
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jsonor Messages postés 49 Date d'inscription mercredi 12 février 2003 Statut Membre Dernière intervention 5 septembre 2006
19 nov. 2003 à 17:59
Comment faire pour utiliser ce principe pour ouvrir un fichier qui n'est pas sytématiquement un exécutable ?
(en fait, je voudrais que mon prog ouvre un fichier et puisse le fermer après un certain, or, quand on utilise ShellExecute, on n'a plus accès à la fenêtre qui s'est ouverte)..

Merci d'avance pour votre aide !
0
cs_supergrey Messages postés 475 Date d'inscription vendredi 27 juin 2003 Statut Membre Dernière intervention 20 septembre 2010
9 août 2008 à 20:50
Serait il possible d'avoir l'équivalent du code suivant avec CreateProcess car j'ai eu beau essayé différentes facon pas moyen d'obtenir le bon résultat:

ShellExecute(hWnd,"open","C:\\chemin du\\soft.exe","C:\\chemin du\\fichier.ext","",SW_HIDE);

Merci
0
Rejoignez-nous