Bonjour,
J'ai besoin de récpérer des donées émises par un programme sur la sortie standard :
par exemple j'execute en console monProg.exe param1 param2 ... et je souhaite récupérer la sortie standard.
actuellement je travaille comme cela :
ce code fonctionne puisque je me retrouve avec ce que je veut dans outBuff.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Set oExec = objShell.Exec(toExec & "getpars.exe " & detPath & " /PLIVE") outBuff = oExec.stdOut.ReadAll()
mais j'aimerais savoir si il est possible d'utiliser quelque chose ressemblant a ce qui existe en dotNet ou en c# a savoir :
Le code .Exec ouvre un shell et une fenetre, ce que j'aimerais c'est que la commande s'execute sans ouvrir de nouvelle fenetre mais en utilisant autre chose. Parcequ'au bout d'un moment il y a trop de fenetres partout. J'ai cette commande a executer environ 40fois... En plus ca prend un temps fou de charger cmd.exe a chaque fois.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ProcessStartInfo.redirectStandardOutput
Une autre méthode consisterais a executer le programme et rediriger sa sortie standrard vers un fichier que l'on lit par la suite :
du stye maCommande.exe > data.txt
et ensuite ouvrir data.txt pour le lire. De cette facon en utilisant un .run("maCommande.exe > data.txt",0,True) ca pourrait peut etre marcher
mais je trouve ce code tres peu propore, se servir d'un fichier texte comme "variable" c dégeu
vous avez des idées ? en vb6
merci d'avance
diffy
Partager