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

Résolu
lorus778 Messages postés 2 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 14 août 2007 - 14 août 2007 à 08:45
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 - 14 août 2007 à 09:22
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

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
14 août 2007 à 09:22
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 ^^
3
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
14 août 2007 à 08:54
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
0
lorus778 Messages postés 2 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 14 août 2007
14 août 2007 à 09:12
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?
0
Rejoignez-nous