Connaître la fin d'exéc d'un exe sous DOS

Messages postés
629
Date d'inscription
mercredi 3 juillet 2002
Statut
Membre
Dernière intervention
9 octobre 2006
-
Messages postés
629
Date d'inscription
mercredi 3 juillet 2002
Statut
Membre
Dernière intervention
9 octobre 2006
-
S@lut !

En appuyant sur 1 bouton j'exécute une commande DOS. Mais l'instruction juste après Shell "macommande.exe" est exécutée immédiatement et je voudrais attendre que macommande.exe soit complètement exécuté et terminé.

En +, macommande.exe affiche un texte sur la console DOS. Il y a moyen de le récupérer dans un fichier mais y'a t'il un moyen pour que VB récupère directement ce message (avec les tubes |) ?

Merci

7 réponses

Messages postés
36
Date d'inscription
vendredi 12 juillet 2002
Statut
Membre
Dernière intervention
21 décembre 2004

J'ai déjà posté un exemple sur le sujet à cette adresse sur VBFrance

http://www.vbfrance.com/article.aspx?Val=5334
Messages postés
629
Date d'inscription
mercredi 3 juillet 2002
Statut
Membre
Dernière intervention
9 octobre 2006

coool mais ça ne marche pas :sad)
J'ai d'abord remplacé "c:\windows\calc.exe" par "notepad.exe" --> évite de mettre en dur "c:\windows" car sur NT ou 2K c'est "c:\winnt". Bon mais c pas là le prob...
La fonction LaunchAppSynchronous renvoie False et ne lance pas mon bloc-notes :sad)
Comment faire ?

------------------------
J'ai déjà posté un exemple sur le sujet à cette adresse sur VBFrance
http://www.vbfrance.com/article.aspx?Val=5334
Messages postés
36
Date d'inscription
vendredi 12 juillet 2002
Statut
Membre
Dernière intervention
21 décembre 2004

Je ne vois pas ou est l'os...tente d'exécuter le code en pas à pas détaillé.
Messages postés
629
Date d'inscription
mercredi 3 juillet 2002
Statut
Membre
Dernière intervention
9 octobre 2006

g fé 1 pa à pa et cette ligne semle être à l'origine du problème. CreateProcessByNum renvoie 0.

lngResponse = CreateProcessByNum(strExecutablePathAndName, vbNullString, 0, 0, True, NORMAL_PRIORITY_CLASS, ByVal 0&, vbNullString, typStartUpInfo, typProcessInfo)

une ID ?
Messages postés
36
Date d'inscription
vendredi 12 juillet 2002
Statut
Membre
Dernière intervention
21 décembre 2004

Tu peux vérifier si le nom et le chemin de l'appli à démarrer est le bon, c'est la seul erreur que je vois, car si le retour est 0 c'est qu'il n'a pu démarrer l'appli demandé....essai d'autres prog à démarrer pour voir si cela fonctionne!
Messages postés
629
Date d'inscription
mercredi 3 juillet 2002
Statut
Membre
Dernière intervention
9 octobre 2006

Ah bein ouais ça marche mais j'comprends pas pkoi il voulait pas marcher avec notepad.exe (le chemin était correct). J' vais maintenant intégrer le code dans mon appli...
Messages postés
629
Date d'inscription
mercredi 3 juillet 2002
Statut
Membre
Dernière intervention
9 octobre 2006

ça marche bien :)
mais un truc ne marche pas avec Launch...Synchronous ou Shell :
Shell "dir > dir.txt" par exemple.
Le fichier dir.txt a-t'il été généré chez toi. Chez moi ça ne le génère pas.
Il faut que je passe par un batche (donc créer un .bat, écrire dedans) et exécuter le .bat (Shell ou Launch...Synchronous) et ça marche.
Mais le batch ne me convient pas (ça me fait un bug ailleurs...).
Sais-tu comment rézoudre ce prob ?
Merci