none
Passando variável de uma aplicação para outra RRS feed

  • Discussão Geral

  • Tenho uma aplicação chamada "A" com um formulário aberto, neste formulário eu chamo uma outra aplicação "B", gostaria de passar um valor do A para o B.

    Eu chamo a segunda aplicação dessa forma:

     try
                {
                    string appDirectory = Path.GetDirectoryName(Application.ExecutablePath);
                    Process myProcess = new Process();
                    myProcess.StartInfo.FileName = (@"" + appDirectory + "\\B.exe");
                    System.Diagnostics.Process[] outlook = System.Diagnostics.Process.GetProcessesByName("Aplicação B");
                    if (outlook.Length == 0)
                    {
                        System.Diagnostics.Process.Start(@"" + appDirectory + "\\B.exe");
                    }
                    else
                    {
                        MessageBox.Show("A aplicação já está aberta.", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information);
    
                        Process Process1 = new Process();
                        Process1.StartInfo.FileName = "B.exe";
                    }
                }
                catch
                {
    
                }

     
    quinta-feira, 19 de outubro de 2017 16:52

Todas as Respostas

  • Ola Renato, para passar e pegar os parâmetros passados, segue os códigos a baixo:

    ...
    Process Process1 = new Process();
    Process1.StartInfo.FileName = "B.exe";
    p.StartInfo.Arguments = "Seu Argumento";
    p.Start();
    ...

    Para pegar o argumento no processo chamado, basta fazer uma pequena alteração na main do seu processo, como no exemplo a baixo:

     [STAThread]
     static void Main(string[] args)
     {
            if (args.Length > 0)
                MessageBox.Show(args[0], "Args");
    
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());
     }



    sábado, 21 de outubro de 2017 23:54
  • Ola Renato, para passar e pegar os parâmetros passados, segue os códigos a baixo:

    ...
    Process Process1 = new Process();
    Process1.StartInfo.FileName = "B.exe";
    p.StartInfo.Arguments = "Seu Argumento";
    p.Start();
    ...

    Para pegar o argumento no processo chamado, basta fazer uma pequena alteração na main do seu processo, como no exemplo a baixo:

     [STAThread]
     static void Main(string[] args)
     {
            if (args.Length > 0)
                MessageBox.Show(args[0], "Args");
    
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());
     }



    Obrigado deu certinho.
    segunda-feira, 23 de outubro de 2017 11:43