Continuer exécution vb en gardant ouverte la fenêtre d'un shell synchrone [Résolu]

Signaler
Messages postés
2
Date d'inscription
mardi 14 août 2007
Statut
Membre
Dernière intervention
14 août 2007
-
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
-
Bonjour à tous
je développe une application VB6 qui fait appel à un générateur de code C qui se lance en ligne de commande.
je fais appel à mon générateur de code de la manière suivante:
------------------------
Dim objShell as Object
Set objShell = CreateObject("WScript.Shell")

objShell.Run ("cmd.exe /K ""C:\program files\EAP\Generator.exe""",1, true)
.
.
.
MsgBox("Génération terminée")
----------------------
J'utilise cmd.exe /K car je souhaite que la fenêtre reste affichée pour que l'utilisateur puisse visualiser le résultat du générateur dans la fenêtre de shell.
De plus j'utilise la fonction Run d'un objet WScript.Shell avec pour argument "true" à la fin car il faut impérativement que mon programme soit synchrone.
Mon problème c'est que l'utilisateur est obligé de fermer la fenêtre pour que le programme VB puisse continuer à s'exécuter.

Je voudrais qu'une fois mon programme de générateur de code terminé, le programme VB continue de s'exécuter mais en gardant la fenêtre de sortie du générateur de code ouverte.

Pourriez-vous m'aider svp?
Merci beaucoup de votre support!

3 réponses

Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
68
regarde par exemple
http://www.vbfrance.com/codes/PING-VB-CINQ-FACONS-PROCEDER_36588.aspx

y'a un exemple ...

http://files.codes-sources.com/fichier.aspx?id=36588&f=PipePing%5cForm1.frm

en fait, tu lis le texte renvoyé, tu en fait strictement ce que tu veux ^^
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
68
le plus simple, sympa et propre serait de rediriger la sortie standard de ton appli Generator DANS ta fenetre VB6 (Pipe, ou via les objets WScript)

comme ca, ca ferais un look sympa, et resolverais ton soucis
Messages postés
2
Date d'inscription
mardi 14 août 2007
Statut
Membre
Dernière intervention
14 août 2007

Merci pour ta réponse Renfield
Je vais opter pour la méthode des Pipes
Si j'utilise la méthode des Pipes, en redirigeant la sortie standard vers ma fenêtre VB6, où pourrais-je afficher dans ma fenêtre VB6 le résultat de mon générateur?