Ligne de commande DOS avec VB.net et WPF

Jayme65 Messages postés 60 Date d'inscription lundi 23 avril 2007 Statut Membre Dernière intervention 26 mars 2019 - 5 avril 2011 à 09:49
Jayme65 Messages postés 60 Date d'inscription lundi 23 avril 2007 Statut Membre Dernière intervention 26 mars 2019 - 31 déc. 2011 à 15:03
Bonjour,

Sauriez-vous comment passer une ligne de commande avec WPF (en VB.net)?
Avec les WindowsForm, j'utilisais:

Shell("cmd.exe /c mame -listxml >xmlout.xml", 0, True)

(le nom de l'application et ses parametres, montrer/cacher la fenetre, attendre ou pas la fin de l'exécution)

Apparement cette façon de faire ne fonctionne plus avec WPF...donc, que devrais-je faire pour envoyer cette ligne de commande?

D'avance merci pour toute aide!!

3 réponses

foliv57 Messages postés 420 Date d'inscription vendredi 17 novembre 2006 Statut Membre Dernière intervention 15 juillet 2014 9
5 avril 2011 à 13:15
Bonjour,

La classe Process répond à votre attente.

Il doit y avoir pas mal d'exemple sur le forum
0
Jayme65 Messages postés 60 Date d'inscription lundi 23 avril 2007 Statut Membre Dernière intervention 26 mars 2019 2
6 avril 2011 à 16:58
Merci foliv57!

Et pour ceux qui chercherais la même chose que moi, voici mon code:

Dim myProcess As New Process()
myProcess.StartInfo.FileName = "cmd.exe"  'l'application
myProcess.StartInfo.Arguments = "/c mame -listxml >xmlout.xml"  'les paramètres passés à l'application
'myProcess.StartInfo.CreateNoWindow = True
'myProcess.StartInfo.WindowStyle = ProcessWindowStyle.Hidden
myProcess.Start()  'lance le process
myProcess.WaitForExit()  'attend qu'il soit terminé avant d'aller plus loin
myProcess.Close()  'ferme le process
0
Jayme65 Messages postés 60 Date d'inscription lundi 23 avril 2007 Statut Membre Dernière intervention 26 mars 2019 2
31 déc. 2011 à 15:03
Tout cela marche parfaitement, mais j'aimerais avoir une aide supplémentaire (j'ignore si je dois commencer un nvx. sujet?):

Comment puis-je faire pour afficher une ligne de texte sur la console cmd.exe, pendant que la commandes qui lui a été envoyé s'exécute?

J'ai donc:
myProcess.StartInfo.FileName = "cmd.exe"
myProcess.StartInfo.Arguments = "/c mame -listxml >xmlout.xml"

et je voudrais que l'utilisateur puisse voir affiché (sur la console cmd.exe...pas sur mon application!!) un message du style "Patientez svp...."

Merci!!
0
Rejoignez-nous