Ligne de commande DOS avec VB.net et WPF

Signaler
Messages postés
66
Date d'inscription
lundi 23 avril 2007
Statut
Membre
Dernière intervention
26 mars 2019
-
Messages postés
66
Date d'inscription
lundi 23 avril 2007
Statut
Membre
Dernière intervention
26 mars 2019
-
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

Messages postés
420
Date d'inscription
vendredi 17 novembre 2006
Statut
Membre
Dernière intervention
15 juillet 2014
8
Bonjour,

La classe Process répond à votre attente.

Il doit y avoir pas mal d'exemple sur le forum
Messages postés
66
Date d'inscription
lundi 23 avril 2007
Statut
Membre
Dernière intervention
26 mars 2019
2
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
Messages postés
66
Date d'inscription
lundi 23 avril 2007
Statut
Membre
Dernière intervention
26 mars 2019
2
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!!