[C#] Předání argumentu z 1 do 2 programu

C++, C#, Visual Basic, Delphi, Perl a ostatní

Moderátor: Moderátoři Živě.cz

Odeslat příspěvekod gxyz 9. 9. 2013 12:58

Zdravím, potřebuji poradit. Mám vytvořený prográmek, kterým otevírám druhý vytvořený prográmek. Toto mi funguje, ale potřebuji prográmku(2) předat argument. Vím jak předat argument, ale nevím co udělat, aby mi program(2), tento argument přijal.
Posílám ukázku kódu - program(1), který otevírá program(2) s argumentem. Tento argument má být text:
Program1:
Kód: Vybrat vše
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

using System.Diagnostics;

namespace Otevri_Jiny_EXE
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void btn_Otevri_Click(object sender, EventArgs e)
        {

            Spustit2();
        }

        private void Spustit2()
        {
            ProcessStartInfo startInfo = new ProcessStartInfo("C:\\Ahoj_Svete.exe");
            //ProcessStartInfo startInfo = new ProcessStartInfo("IExplore.exe");
            startInfo.WindowStyle = ProcessWindowStyle.Minimized;
            startInfo.Arguments = "Předávaný text";
            Process.Start(startInfo);
        }

    }
}


A zde je program(2), u kterého nevím co udělat, aby mi přijal argument a pracoval jsem s ním.
Program(2):

Kód: Vybrat vše
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Ahoj_Svete
{
    public partial class Form1 : Form
    {
        string predany_Text;
        public Form1()
        {
            InitializeComponent();
            label1.Text = predany_Text;
        }

    }
}


Tento argument chci předat do label1.

Poraďte díky.
Naposledy upravil Vebloud dne 10. 9. 2013 09:14, celkově upraveno 1
Důvod: Opravdu je tak těžké dodržet pravidlo a konnvenci pro název tématu?
gxyz
Junior

Odeslat příspěvekod miho 9. 9. 2013 13:13

Environment.GetCommandLineArgs() vraci pole retezcu
Oh dear, I really ought to do something. But I am already in my pyjamas...
miho
Hlavní administrátor
Uživatelský avatar

Odeslat příspěvekod satikcz 9. 9. 2013 13:46

V program.cs v jsou to argumenty funkce main.
3x AOC AG271QG (2560x1440, IPS, 165Hz, GSync), ASUS Strix RTX3090 OC, Intel Core i7 8700K@5GHz+EKWB L360, ASUS Maximus X, 32GB G.SKILL TridentZ@3466 MHz, ADATA SX8200 2TB + 1TB + Crucial BX 500 GB + Kingston UV400 1TB, Seasonic P-860 Platinum, FD Define S
satikcz
Junior
Uživatelský avatar

Odeslat příspěvekod gxyz 9. 9. 2013 18:41

nebo nemá někdo nějakou ukázku dvou prográmků, které takto nějak fungujou ?
gxyz
Junior

Odeslat příspěvekod Wikan 10. 9. 2013 07:42

Prostě si přečti Environment.GetCommandLineArgs().
Na to snad nepotřebuješ ukázku.
Wikan
Moderátor
Uživatelský avatar


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků