Fonction RunWait = ???

Résolu
Utilisateur anonyme - 13 juil. 2007 à 16:40
 Utilisateur anonyme - 13 juil. 2007 à 18:04
Bonjour,

Comment fait-on pour lancer un programme externe et pauser l'exécution du code jusqu'à ce que le programme en question finisse sa tâche ? En gros comment fait-on un Runwait pour ceux qui connaissent autoit...

CreateProcess(0, "C:\\WINDOWS\\NOTEPAD.EXE", 0, 0, 0, CREATE_SUSPENDED, 0, 0, &ti, &ri);  quelque chose dans le genre ?

Merci.

4 réponses

SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
13 juil. 2007 à 16:55
Je ne comprend pas bien.
Que veux tu attendre ? La fin de l'exécution du processus lancé par CreateProcess ?
Si oui, utilise WaitForSingleObject

CreateProcess(..., &ri);
WaitForSingleObject(ri.hProcess, INFINITE);

C++ (@++)<!--
3
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
13 juil. 2007 à 16:57
Et ne met pas le flag CREATE_SUSPENDED dans CreateProcess sinon, ton programme attendra indéfiniment.

C++ (@++)<!--
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
13 juil. 2007 à 17:10
0
Utilisateur anonyme
13 juil. 2007 à 18:04
Sympa, merci [auteurdetail.aspx?ID=617077 SAKingdom].

Quand on sait ça prend 10 secondes mais quand on ne sait pas ça peut prendre la journée et pour la même chose en +  :)

Ya du boulot dans mon cas en tout cas... ;)

Bonne journée.
0
Rejoignez-nous