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
71
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
71
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