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

cs_iubito Messages postés 629 Date d'inscription mercredi 3 juillet 2002 Statut Membre Dernière intervention 9 octobre 2006 - 26 août 2002 à 23:14
cs_iubito Messages postés 629 Date d'inscription mercredi 3 juillet 2002 Statut Membre Dernière intervention 9 octobre 2006 - 29 août 2002 à 22:46
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

cs_sauveur Messages postés 36 Date d'inscription vendredi 12 juillet 2002 Statut Membre Dernière intervention 21 décembre 2004
27 août 2002 à 01:58
J'ai déjà posté un exemple sur le sujet à cette adresse sur VBFrance

http://www.vbfrance.com/article.aspx?Val=5334
0
cs_iubito Messages postés 629 Date d'inscription mercredi 3 juillet 2002 Statut Membre Dernière intervention 9 octobre 2006
27 août 2002 à 10:02
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
0
cs_sauveur Messages postés 36 Date d'inscription vendredi 12 juillet 2002 Statut Membre Dernière intervention 21 décembre 2004
27 août 2002 à 13:53
Je ne vois pas ou est l'os...tente d'exécuter le code en pas à pas détaillé.
0
cs_iubito Messages postés 629 Date d'inscription mercredi 3 juillet 2002 Statut Membre Dernière intervention 9 octobre 2006
27 août 2002 à 15:04
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 ?
0

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

Posez votre question
cs_sauveur Messages postés 36 Date d'inscription vendredi 12 juillet 2002 Statut Membre Dernière intervention 21 décembre 2004
28 août 2002 à 02:03
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!
0
cs_iubito Messages postés 629 Date d'inscription mercredi 3 juillet 2002 Statut Membre Dernière intervention 9 octobre 2006
28 août 2002 à 09:02
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...
0
cs_iubito Messages postés 629 Date d'inscription mercredi 3 juillet 2002 Statut Membre Dernière intervention 9 octobre 2006
29 août 2002 à 22:46
ç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
0
Rejoignez-nous