1. #1
    Membre habitué
    Inscrit en
    août 2005
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : août 2005
    Messages : 91
    Points : 180
    Points
    180

    Par défaut Windev : Récupérer le résultat d'une commande DOS dans une chaîne Windev

    Bonjour, voici une petite DLL C# permettant de récupérer le résultat d'une commande DOS dans une chaîne Windev.

    L'appel se fait de cette façon :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    LOCAL
    	sCmd est une chaîne
    	sResult est une chaîne
     
    sCmd = "ipconfig"
    sResult = Dos.ExecuteCommand(sCmd)
     
    Info(sResult)
    Et voici le code de la DLL C# :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
    using System;
    using System.Diagnostics;
    using System.Text;
     
    namespace Dos
    {
        public class Dos
        {
     
            public static string ExecuteCommand(String _command)
            {
                int codePage = 850; //cf https://msdn.microsoft.com/en-us/library/system.text.encoding.codepage.aspx
                Process p = new Process
                {
                    StartInfo =
                            {
                                FileName = "cmd.exe",
                                Arguments = "/c "+"@"+_command,
                                RedirectStandardInput = true,
                                RedirectStandardOutput = true,
                                StandardOutputEncoding = Encoding.GetEncoding(codePage),
                               //StandardErrorEncoding =  Encoding.GetEncoding(codePage),
                                UseShellExecute = false,
                                CreateNoWindow = true
                            },
                };
     
                p.Start();
                /*
                var bytes = Encoding.UTF8.GetBytes(command);
                p.StandardInput.BaseStream.Write(bytes, 0, bytes.Length);
                p.StandardInput.WriteLine();
                */
                string sOutput = p.StandardOutput.ReadToEnd();
                p.WaitForExit();
                p.Close();
                return sOutput;
            }
     
        }
     
    }
    Pour intégrer la DLL dans Windev, il faut aller dans le menu Atelier / .NET / Utiliser un assemblage .NET dans ce projet / Bouton "Parcourir", et sélectionner la dll Dos.dll téléchargeable ici :
    https://mon-partage.fr/f/B1ywKuuv/

    Bonne prog

  2. #2
    Membre éclairé Avatar de romulus001
    Homme Profil pro
    Développeur VB.NET et Windev (21) sur produits SAGE
    Inscrit en
    mai 2009
    Messages
    753
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur VB.NET et Windev (21) sur produits SAGE

    Informations forums :
    Inscription : mai 2009
    Messages : 753
    Points : 831
    Points
    831

    Par défaut

    Bonjour,
    Il y a déjà eu une librairie qui a été publiée dans la section Contribuez, voir le message ici
    Chat alors!

    (\ _ /)
    (='.'=) Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant

Discussions similaires

  1. Exécuter une commande SQL dans une commande Dos
    Par meddly dans le forum Sql*Plus
    Réponses: 2
    Dernier message: 21/11/2013, 11h37
  2. Réponses: 9
    Dernier message: 14/12/2010, 12h18
  3. Réponses: 8
    Dernier message: 19/09/2007, 16h51
  4. Résultat d'une commande DOS dans une variable
    Par tomix81 dans le forum Général Python
    Réponses: 2
    Dernier message: 18/05/2007, 11h02
  5. lancer une commande dos dans une page ASP
    Par noznoz78 dans le forum ASP
    Réponses: 4
    Dernier message: 13/02/2006, 19h06

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