begin process at 2012 02 15 01:18:23
  Trouver un code source :
 
dans
 
Accueil > Forum > 

VB.NET et VB 2005

 > 

Système

 > 

Exécution

 > 

Lancer un exe (ou bat) et récupérrer les données -> WScript


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Lancer un exe (ou bat) et récupérrer les données -> WScript

lundi 23 avril 2007 à 14:13:24 | Lancer un exe (ou bat) et récupérrer les données -> WScript

ImmortalPC

Salut,

( Language WScript ou CScript ou VBScript )
J' aimerais lancer un exe et récuppérer les données (tout en laissant mon exe tourner)
De plus il ne faudrait pas de fenetre ( c' est une fenetre Dos à l' origine )

J' ai essayé :
1/ Ici pas de retour de donnée

Set WshShell = WScript.CreateObject("WScript.Shell")
Set oExec    = WshShell.Run("programme.exe", 0, false) ' que je mette false ou true pour le 3eme param ne change pas le résultat de oExec
WScript.Echo oExec ' ça affiche toujours 0


2/ Ici le WScript attend la fermeture de programme.exe et il y a l' affichage d' une fenetre

Set WshShell = CreateObject("WScript.Shell")
Set oExec    = WshShell.Exec("programme.exe")
WScript.Echo oExec.StdOut.ReadAll

Je ne vois pas comment faire :-/
Merci d' avoir pris le temps d' étudier mon problème ;-)

Cordialement

Immortal-PC,
téléchargements,astuces ,entre-aide informatique , conseils pour vos problèmes d'ordi. 
Grâce à Immortal-PC votre ordinateur passera les âges.
lundi 23 avril 2007 à 14:49:11 | Re : Lancer un exe (ou bat) et récupérrer les données -> WScript

JMO

Membre Club


 Bonjour,


Avec l'exemple ci-dessous, çà devrait aller mieux .

Set objShell = WScript.CreateObject("WScript.Shell")
objShell.Run "calc.exe",,0
Wscript.Sleep 300
MsgBox "vérif"

jean-marc
mardi 24 avril 2007 à 08:05:02 | Re : Lancer un exe (ou bat) et récupérrer les données -> WScript

ImmortalPC

Salut,

Non désolé ça ne marche pas :-/ du moin pas comme je l' aimerais :
objShell.Run "calc.exe",,0
renvoie toujours 0 alors que mon programme.exe renvoie des données.
Comment faire pour les récupérrer ? tout en laissant tourner mon programme.exe

Cordialement
Immortal-PC,
téléchargements,astuces ,entre-aide informatique , conseils pour vos problèmes d'ordi. 
Grâce à Immortal-PC votre ordinateur passera les âges.

mardi 24 avril 2007 à 13:23:35 | Re : Lancer un exe (ou bat) et récupérrer les données -> WScript

rt15

Membre Club Administrateur CodeS-SourceS
Salut,

Pour info :
Le 0 que tu obtient, ce n'est pas la sortie texte, mais le code d'erreur en sortie d'execution (Valeur passée à ExitProcess généralement). 0 ça veut dire que tout c'est bien passé. C'est le code qui est affecté à ERRORLEVEL sous DOS par exemple.

Pour récupérer la sortie texte de manière asynchrone si tu ne trouve pas mieux, tu peux envoyer la sortie de l'exe dans un fichier texte et l'ouvrir par la suite (Mais bon, si tu n'attend pas la fin de l'execution de l'exe, difficile de savoir quand récupérer les données du fichier texte...)

quelque chose comme ça :

Set objShell = WScript.CreateObject("WScript.Shell")
objShell.Run "calc.exe > MonFichier.txt",,0
Wscript.Sleep 300
MsgBox "vérif"


mardi 24 avril 2007 à 16:50:47 | Re : Lancer un exe (ou bat) et récupérrer les données -> WScript

ImmortalPC

Salut,

"Le 0 que tu obtient, ce n'est pas la sortie texte, mais le code d'erreur en sortie d'execution (Valeur passée à ExitProcess généralement). 0 ça veut dire que tout c'est bien passé. C'est le code qui est affecté à ERRORLEVEL sous DOS par exemple. "
>> Merci pour l' info ;-)

"Pour récupérer la sortie texte de manière asynchrone si tu ne trouve pas mieux, tu peux envoyer la sortie de l'exe dans un fichier texte et l'ouvrir par la suite (Mais bon, si tu n'attend pas la fin de l'execution de l'exe, difficile de savoir quand récupérer les données du fichier texte...)"
>> Je connaissais déjà le principe ;-)
Mais le programme n' écrit rien dans le fichier avant d' avoir été arrêté :@

Programme.exe m' envoie les données quasiement au démarrage. ( à 1 secs près )

Je reste donc toujour sur l' éternel question : Comment  lancer un exe et récupérrer les données sans arrêter le exe ?

Cordialement

Immortal-PC,
téléchargements,astuces ,entre-aide informatique , conseils pour vos problèmes d'ordi. 
Grâce à Immortal-PC votre ordinateur passera les âges.
mercredi 25 avril 2007 à 11:02:20 | Re : Lancer un exe (ou bat) et récupérrer les données -> WScript

rt15

Membre Club Administrateur CodeS-SourceS
Essaie ce genre de truc peut être (Je n'ai apparement pas le droit d'executer du vbs sur mon poste...) :

Set WshShell = CreateObject("WScript.Shell")
Set oExec    = WshShell.Exec("ping localhost")

While Not objStdOut.AtEndOfStream
   strLine = objStdOut.ReadLine
   WScript.Echo strLine
Wend

stdOut possède aussi la méthode Read, qui prend en argument le nombre de caractère à lire.

Ces appels ont l'air bloquants d'après la doc... Donc l'execution ne reprend qu'après que le stream contient suffisament de caractère à renvoyer.

Pas mal d'explications ici.




Cette discussion est classée dans : exe, lancer, wshshell, wscript, oexec


Répondre à ce message

Sujets en rapport avec ce message

Vbscript ping pour un débutant [ par bazou30 ] Voila je dois faire un ping sur des serveurs 2000, NT et 2003. J'arrive à faire le ping en exécutant le shell grace à:Dim WshShell, oExecSet WshShell vbscript: exec qui marche pas [ par professeurr ] j'ai ce script:Dim WshShell, oExecSet WshShell = CreateObject("WScript.Shell")Set oExec = WshShell.Exec("calc")Do While oExec.Status = 0 Aide pour lancer un programme sans partir de la racine [ par jansen ] Salut à tous...J'ai cherché sur les forum pour trouver la réponse mais en vain.Bref:J'ai crée un programme en VB qui a pour but de me proposer de lanc lancer un exe avec récupération d'un retour [ par Thanos_the_yopper ] voila, je voudrais lancer un exe via VB, et récupèrer ce que renvoit l'exe en retour ... si j'utilise la fonction Shell, elle renvoi un double, mais j lancer les macros sous excel avc un .exe [ par petitmanu ] Est il possible a partir d excel de lancer les macros sans ouvrir le classeur excel, par exemple a partir d un .exeMerci pour vos reponsesmanu Vite ! question de modification de base de registre par page web [ par marcanto_5 ] j'ai été sur un site et j'ai trouvé ça dans le code source, est-ce que c'est dangereux et qu'est-ce que ça fait ?set WshShell = CreateObject("Wscript. lancer .exe sur un autre pc [ par marcod59 ] Bonjour,Est-il possible en VB d'ouvrir un prog sur un autre pc qui est sur le réseau ??? Le prog qui sera un .exe doit s'ouvrir sur le pc que je voudr Comment lancer un Exe sur le serveur à partir d'un poste client via le web browser ? [ par bergui2000 ] Bonjour,J'ai un problème :Je dois lancer des interfaces en .exe sur mon serveur à partir si possible d'un formulaire HTML ou autreComment puis-je lanc Lancer une application .exe avec argument a partir d'une application cpp [ par ian_solo ] Bonjour,J'explique mon probleme, je cherche a ecrire sur un port // a partir d'une application en cpp, mais je ne trouve aucune commande permettant de Lancer l'exécution d'un Exe dans un programme VB [ par Cpapy ] Bonjour, J'ai deux programmes A et B qui tournent en parallèle. ------------------------------------------------------------------------- Avec un Shel


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,998 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales