Fonction RunWait = ??? [Résolu]

Signaler
Messages postés
66
Date d'inscription
lundi 22 mai 2006
Statut
Membre
Dernière intervention
25 août 2009
-
Messages postés
66
Date d'inscription
lundi 22 mai 2006
Statut
Membre
Dernière intervention
25 août 2009
-
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

Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
15
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++ (@++)<!--
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
15
Et ne met pas le flag CREATE_SUSPENDED dans CreateProcess sinon, ton programme attendra indéfiniment.

C++ (@++)<!--
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
15
Messages postés
66
Date d'inscription
lundi 22 mai 2006
Statut
Membre
Dernière intervention
25 août 2009

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.