IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Presentation Foundation Discussion :

Ligne de commande DOS avec VB.net et WPF


Sujet :

Windows Presentation Foundation

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 158
    Points : 41
    Points
    41
    Par défaut Ligne de commande DOS avec VB.net et WPF
    Bonjour,

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

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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!!

  2. #2
    Membre expert
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 210
    Points : 3 015
    Points
    3 015
    Par défaut
    Salut,

    Tu as a disposition la classe Process.

    Comme tu peux voir dans le lien, il y a différents arguments possibles. Tu peux regarder le constructeur surchargé avec ProcessStartInfo ainsi que l'exemple associé :
    Code vb : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
             Dim startInfo As New ProcessStartInfo("IExplore.exe")
             startInfo.WindowStyle = ProcessWindowStyle.Minimized
     
             Process.Start(startInfo)
     
             startInfo.Arguments = "www.northwindtraders.com"
     
             Process.Start(startInfo)

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 158
    Points : 41
    Points
    41
    Par défaut
    Merci pour ta réponse binoo !!

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

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    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

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 158
    Points : 41
    Points
    41
    Par défaut
    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:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    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!!

  5. #5
    Candidat au Club
    Femme Profil pro
    Développeur .NET
    Inscrit en
    Février 2017
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2017
    Messages : 1
    Points : 4
    Points
    4
    Par défaut using command cmd on wpf vb.net
    Hi,
    Thank you for your helps but i have a problem in my code ,what i want to do is usig a command shell in WPF in vb.net ,the command is copy a file
    Private Sub executer(sender As Object, e As RoutedEventArgs) Handles button1.Click
    Dim myProcess As New Process()
    myProcess.StartInfo.FileName = "cmd.exe" 'l'application
    myProcess.StartInfo.Arguments = "/c copy C:\Users\FC\Desktop\t.txt C:\Users\FC\Desktop\nn\nv"
    '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

    End Sub
    End Class

Discussions similaires

  1. Exécuter une commande DOS avec VB.net 2005
    Par peregna2007 dans le forum VB.NET
    Réponses: 2
    Dernier message: 20/08/2008, 11h42
  2. Réponses: 12
    Dernier message: 05/04/2007, 15h18
  3. Réponses: 1
    Dernier message: 26/07/2006, 11h23
  4. [API][Système] Executer une commande dos avec arguments
    Par oOoOuuhmAn dans le forum Général Java
    Réponses: 4
    Dernier message: 17/03/2006, 12h37
  5. Execution de ligne de commande DOS
    Par Chap$ dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 03/02/2006, 12h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo