Passer une variable en retour de shell

cs_jacques13 Messages postés 252 Date d'inscription mardi 3 juin 2003 Statut Membre Dernière intervention 29 juin 2013 - 25 avril 2006 à 19:01
rvblog Messages postés 792 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 12 juin 2012 - 27 avril 2006 à 12:49
Bonjour,
A partir de mon programme principal, j'appelle par shell un programme secondaire en lui passant des données via Command().
Est-il possible, lors du retour au programme principal, de récupérer une variable en provenance du programme secondaire, en évitant l'astuce du fichier temporaire?
(développement en VB6)
Jacques13

3 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
25 avril 2006 à 19:14
Salut
Oui, il suffit d'utiliser un "pipe" à la place du Shell traditionnel.
Toutes les infos --> clique ici

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Champion du monde de boule de cristal - 2005
Le savoir est la seule matière qui s'accro
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
25 avril 2006 à 19:26
salut,
ton programme secondaire est une autre appli "maison" en VB?
si oui, tu peux les lier. voir alors soit LINK DDE, soit api GetProp / SetProp

++
PCPT [AFCK]
0
rvblog Messages postés 792 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 12 juin 2012 7
27 avril 2006 à 12:49
Salut 114198 jacques13, salut =2204 jack, salut 401740 PCPT,

=114198 jacques13, si l'application que tu lances n'est pas une application VB (plutôt DOS, ou au moins C avec du StdOut ou un code de sortie), tu peux aussi utiliser l'objet IWshRunTimeLibrary.WshShell, qui te fournit un objet IWshRunTimeLibrary.WshExec.

Pour accéder à cet objet, il faut ajouter la référence Windows Script Host Object Model (wshom.ocx) dans ton projet.

La méthode Exec du 1er objet te permet l'exécution asynchrone ou synchrone d'un process, et t'offre aussi une encapsulation de la création d'un pipe (jack, j'ai vu cette source de fredlynx, où il fait tout à la main , elle n'est pas mal du tout), via les propriétés StdIn, StdOut, et StdErr.

Le deuxième objet expose notamment une propriété ExitCode qui est fort utile.

Quand je trouverais plus de temps, j'essaierais d'en faire une source sur VBF (j'en ai 2, mais la 1ère est vendue à un client, faut épurer, et la 2ème est brouillon)

à+

rvblogn

<sup>
</sup><sup>Je veux ton bien... et je l'aurais... mais jamais avant la page 4
</sup>
0
Rejoignez-nous