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 :

ProcessStartInfo et startup


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    232
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 232
    Par défaut ProcessStartInfo et startup
    bonjour,

    je fais actuellement des recherches pour executer une application (app1) depuis une autre (app2) en c#.

    Je dois passer des arguments depuis app1 à app2. Pour cela, je me demandais si c'étais possible de le faire un utilisant la methode ProcessStartInfo en récupérant mes arguments dans le startup ???

    Seulement, je n'arrive pas à trouver comment faire pour récupérer les arguments et je ne comprend pas très bien comment fonctionne cette methode startup ??

    Merci pour votre aide

  2. #2
    Membre émérite

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2011
    Messages
    487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2011
    Messages : 487
    Par défaut
    Bonjour,

    Les arguments se récupèrent dans le main de la deuxième application. Pour cela il faut que son prototype soit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public static int(ou void) Main(string args[])
    {
        // Code
    }
    Mettre un int en retour du main permet d'avoir des codes d'erreurs pour savoir si tout s'est bien passé. Ici tu récupères un tableau de string qui correspond à un string.Split(" "); de la chaine que tu as passé en paramètre.
    Mon blog sur les technos .NET et Agile -> http://blog.developpez.com/maximepalmisano/

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    232
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 232
    Par défaut
    Ok merci,

    Sinon personne n'aurait un exemple d'utilisation de la méthode : StartupCommand ???

  4. #4
    Membre émérite

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2011
    Messages
    487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2011
    Messages : 487
    Par défaut
    Tu verras ici comment ajouter des arguments à ton appel :

    http://msdn.microsoft.com/fr-fr/libr...s.process.aspx
    Mon blog sur les technos .NET et Agile -> http://blog.developpez.com/maximepalmisano/

  5. #5
    Membre émérite Avatar de ppphil
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    617
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2007
    Messages : 617
    Par défaut
    Citation Envoyé par Nanais19 Voir le message
    Sinon personne n'aurait un exemple d'utilisation de la méthode : StartupCommand ???
    T'as trouvé ça où ??

    Pour lancer un process avec arguments :
    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
    public static int Shell(string App, string Args)
        {
          int Id;
          Process proc = new Process();
     
          try
          {
            proc.StartInfo.FileName = App;
            if (Args != "")
            {
              proc.StartInfo.Arguments = Args;
            }
            proc.Start();
            Id = proc.Id;
            proc.Close(); // Attention Close ne met pas fin au processus.
            return Id;
          }
          catch
          {
            return -1;
          }
        }
    Pour récupérer les arguments ben c'est comme dans l'exemple de Maxime.
    Si tu lances une application windowForms, ben tu ajoutes le paramètre string[] args dans le main du fichier program.
    Tu peux aussi modifier le constructeur de ta form principale en y ajoutant le même paramètre et tu lui passe ces arguments lors de la construction de la form de démarrage...
    Suis peut-être pas très clair alors voici un petit exemple :
    Constructeur de la form :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     public Form1(string[] args)
        {
          InitializeComponent();
          //autres choses à faire
        }
    le program :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    static class Program
      {
        /// <summary>
        /// Point d'entrée principal de l'application.
        /// </summary>
        [STAThread]
        static void Main(string[] args)
        {
          Application.EnableVisualStyles();
          Application.SetCompatibleTextRenderingDefault(false);
          Application.Run(new Form1(args));
        }
      }

Discussions similaires

  1. Problème startup après copie d'instance
    Par malaux dans le forum Oracle
    Réponses: 17
    Dernier message: 12/07/2006, 18h38
  2. [9i] ORA-01102 aprés un startup
    Par genio dans le forum Oracle
    Réponses: 3
    Dernier message: 14/03/2006, 11h57
  3. [Info] Erreur au startup
    Par etranger dans le forum Eclipse Platform
    Réponses: 2
    Dernier message: 18/02/2006, 15h21
  4. Distribution et SQL Agent, Service Startup Account
    Par AF_STjohn dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 31/05/2005, 14h25
  5. [servlet][tomcat] probleme avec load-on-startup
    Par felix79 dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 25/04/2005, 16h04

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