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 Forms Discussion :

[VB.NET2.0] lancer commade DOS cachée


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 249
    Par défaut [VB.NET2.0] lancer commade DOS cachée
    bonjour,

    j'ai des fichiers executablent sous DOS

    j'aimerais lancer ces fichiers et recuperer les reponses => ça doit être possible...

    par contre, j'aimerais que tout cela soit invisible pour l'utilisateur => la j'ai un doute

    comment faire ?

  2. #2
    Rédacteur

    Avatar de Jérôme Lambert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2003
    Messages
    4 451
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 451
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    // Lancer un exécutable
    Process mypro = Process.Start("chemin exécutable");
    // Récupérer le code de retour
    int ExitCode = mypro.ExitCode;
    Par contre pour que ce soit transparent pour l'utilisateur, à toi de faire tes exécutable qui ne s'affichent pas car je ne vois pas comment forcer ça via dotnet

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 249
    Par défaut
    merci

    j'arrive a lancer le programme par contre le probleme est que ça bug sur la deuxieme commande
    => je n'arrive pas a mettre les commandes a la suite

    si je fais ça, ça marche (à condition de ne pas appuyer sur bouton2 avant que la commande DOS n'est pas fini d'être executée)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Dim myProcess As New Process
    	Dim ExitCode As Integer
     
    	Sub Button1Click(sender As Object, e As System.EventArgs)
    		myProcess = Process.Start("C:\Documents and Settings\MARMONIER_C.IFOTEC\Bureau\test.bat")
    	End Sub
     
    	Sub Button2Click(sender As Object, e As System.EventArgs)
    		ExitCode = myProcess.ExitCode
    		msgbox(ExitCode)
    	End Sub
    par contre si je vais ça, ça bug :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim myProcess As New Process
    	Dim ExitCode As Integer
     
    	Sub Button1Click(sender As Object, e As System.EventArgs)
    		myProcess = Process.Start("C:\Documents and Settings\MARMONIER_C.IFOTEC\Bureau\test.bat")
    		ExitCode = myProcess.ExitCode
    		msgbox(ExitCode)
    	End Sub
    j'ai le message d'erreur suivant :
    Process must exit before requested information can be determined.
    => que faire ?

    lorsque je lance la commande une fenetre DOS s'ouvre mais rien ne s'affiche => est-il possible de ne pas voir cette fenetre DOS apparaitre ?

  4. #4
    Membre averti
    Inscrit en
    Août 2005
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 42
    Par défaut
    Désolée, je te réponds en C#.

    Il te manque pour attendre que le process est fini de s'executer.

    Ce qui te donne ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    System.Diagnostics.Process proc = new System.Diagnostics.Process();
    proc.StartInfo.FileName = "ton exe";
    proc.StartInfo.Arguments= "test arguments";
    proc.StartInfo.WindowStyle =ProcessWindowStyle.Hidden; //pour cacher la fenetre dos
    proc.Start();
    proc.WaitForExit();
    int exitCode = proc.ExitCode;
    proc.Close();

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 249
    Par défaut
    merci ça marche
    ... mais j'ai encore quelques questions

    1- je voudrais faire un label avec ecrit à l'interrieur "chargement..." => je voudrais faire une animation pendant en attendant la reponse du programme en faisant défiler les "..." => il me semble que ça doit être possible en executant de façon asynchrone les commande mais je ne m'y connais pas trop : comment fair e ?

    2- sous DOS, lorsque je lance mon fichier, il m'ecrit des choses dans la fenetre DOS : est-il possible de les recupérer ? a priori c'est possible mais je ne sais pas trop comment faire ? ça ne serait pas la propriété "StandardOutput" ?

  6. #6
    Membre averti
    Inscrit en
    Août 2005
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 42
    Par défaut
    Pour tes questions, il y a des réponses ici
    Bon courage

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 18
    Dernier message: 10/04/2014, 14h18
  2. Lancer commande DOS selon cases cochées
    Par Hassassin dans le forum Windows Forms
    Réponses: 14
    Dernier message: 04/04/2008, 19h43
  3. Réponses: 3
    Dernier message: 21/08/2007, 08h39
  4. lancer l'application caché
    Par Nadirov dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 08/09/2006, 08h23
  5. lancer une page asp à partir du shell dos
    Par sqlnet dans le forum ASP
    Réponses: 3
    Dernier message: 19/11/2003, 16h20

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