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

C# Discussion :

Objet Process, personnalisation de l'objet


Sujet :

C#

  1. #1
    Membre actif
    Homme Profil pro
    Developpeur
    Inscrit en
    Février 2013
    Messages
    180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Developpeur

    Informations forums :
    Inscription : Février 2013
    Messages : 180
    Points : 271
    Points
    271
    Par défaut Objet Process, personnalisation de l'objet
    Bonjour,

    Pour un de mes projets, j'ai besoin de transférer des fichier par FTP, j'utilise donc un utilitaire "WinSCP", pour le faire.
    l'utilitaire fonctionne très bien, il est d’ailleurs utilisé sur une autre application en VBA qui fonctionne.

    maintenant, ce que je voudrait faire, c'est de transformer le VBA en C#, dont le but est d'avoir le même comportement
    VBA :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    retShell = Shell("""" & WINSCPPathEXE & """ /console /script=""" & s_pathFic & """", vbMaximizedFocus)
    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
     
                using (Process proc = new Process
                {
                    StartInfo = new ProcessStartInfo
                    {
                        FileName = "cmd.exe",
                        //Arguments = @"""pathExecutazble"" /console /script=""fichierDeScript""",
                        Arguments = "ping -t google.com",
                        UseShellExecute = true,
                        RedirectStandardOutput = false,
                        CreateNoWindow = true,
                        WindowStyle = ProcessWindowStyle.Maximized
                    }
                })
                {
                    proc.Start();
                    proc.WaitForExit();
                }
    donc pour résumé ce que je souhaite faire, c'est que mon application ouvre un process "cmd" en premier plan, en fenêtre maximiser, et que dans cette nouvelle console
    on voit le retour de la commande passer en paramètre.

    Pour le moment, la fenêtre exécute l'instruction ping en font et je n'ai rien d'écrit sur la console,
    quand à l'instruction WinSCP, celle ci lève une erreur et se ferme, mais je ne voit rien en debug.

    Si vous auriez des exemples, ou des idées, merci de votre aide.

  2. #2
    Membre actif
    Homme Profil pro
    Developpeur
    Inscrit en
    Février 2013
    Messages
    180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Developpeur

    Informations forums :
    Inscription : Février 2013
    Messages : 180
    Points : 271
    Points
    271
    Par défaut
    Bon je sais ce qui ne marche pas exactement
    c'est que je n'arrive pas a écrire dans le nouveau process
    le process se lance comme il faut mais les argument sont exécuter en fond

    pour le moment ça marche avec cette méthode :
    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
     
                using (System.Diagnostics.Process proc = new System.Diagnostics.Process
                {
                    StartInfo = new System.Diagnostics.ProcessStartInfo
                    {
                        FileName = @fileName, //@"C:\Program Files (x86)\WinSCP\WinSCP.exe"
                        Arguments = @argument, //@"/console /script=""...\...\...\script.txt"""
                        UseShellExecute = true,
                        RedirectStandardOutput = false,
                        CreateNoWindow = true,
                        WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal
                    }
                })
                {
                    proc.Start();
                    proc.WaitForExit();
                    proc.Close();
                    proc.Dispose();
                }
    Or ce n'est pas vraiment ce que je veux, au final.
    l'enjeu étant que n'importe qui écrive la commande dans sa console, quelle soit sauvegarder puis utilisée comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    FileName = @fileName, //@"cmd.exe"
    Arguments = @argument, //@"""C:\Program Files (x86)\WinSCP\WinSCP.exe"" /console /script=""...\...\...\script.txt"""
    UseShellExecute = true,

    Auriez vous une idée

Discussions similaires

  1. [OL-2003] Publipostage - Personnalisation de l'objet.
    Par bocquet dans le forum Outlook
    Réponses: 1
    Dernier message: 24/08/2015, 16h58
  2. [Débutant] Besoin d'aide pour restructurer mon code autour de l'objet Process
    Par BasicZX81 dans le forum VB.NET
    Réponses: 10
    Dernier message: 01/02/2014, 16h01
  3. [C#][Remoting]scan de la mémoire d'un process en recherche d'objet
    Par hatake.kakashi dans le forum Windows Forms
    Réponses: 1
    Dernier message: 26/07/2006, 10h35
  4. [POO] Objet en attribut d'un objet
    Par Tchinkatchuk dans le forum Langage
    Réponses: 7
    Dernier message: 06/12/2005, 10h00
  5. Réponses: 2
    Dernier message: 07/09/2005, 09h55

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