Как предоставить параметры для процесса - PullRequest
0 голосов
/ 17 октября 2019

Привет. Я пытаюсь создать приложение для формы Windows, написанное на c #, которое будет запускаться, останавливаться и отслеживать, запущено ли оно или нет другого консольного приложения.

Теперь я могу запустить консольное приложение. в моем приложении для Windows, но как я могу предоставить значения для его Console.ReadLine

Вот мой код:

Приложение для Windows:

 int ProcessIDDaca = 111111111;
        private void btnDacaStart_Click(object sender, EventArgs e)
        {

            try
            {
                using (Process myprocess = new Process())
                {
                    myprocess.StartInfo.UseShellExecute = false;
                    myprocess.StartInfo.FileName = @"C:\Users\nx011116\Documents\MachineMonitor\CopyChimp_Server\bin\Debug\CopyChimpServer.exe";
                    //myprocess.StartInfo.FileName = @"C:\Program Files\Eltima Software\Virtual Serial Port Driver 9.0\vspdconfig.exe";
                    myprocess.StartInfo.CreateNoWindow = true;

                    if (btnDacaStart.Text == "Stop")
                    {
                        Process proc = Process.GetProcessById(ProcessIDDaca);
                        proc.Kill();
                        btnDacaStart.Text = "Start";
                        lblDacaID.Text = "";
                    }
                    else
                    {
                        myprocess.Start();
                        var s = myprocess.Id;
                        ProcessIDDaca = myprocess.Id;
                        lblDacaID.Text = s.ToString();
                        btnDacaStart.Text = "Stop";
                    }

                }
            }

            catch (Exception ex)
            {

            }

        }

Консольное приложение:

  public static string copychimp_server = "";
  public static int port_number = 0;

  static void Main(string[] args)
        {
            Console.Write("Enter copychimp server: ");
            //Here i need to provide
            copychimp_server = Console.ReadLine();
            Console.Write("Enter port number: ");
            //Here i need to provide
            port_number = Convert.ToInt16(Console.ReadLine());


        }

И также почему не отображается, но я вижу, что он работает на моем диспетчере задач? Помощь, как новичка в программировании, очень ценится для меня. Заранее спасибо

Ответы [ 2 ]

1 голос
/ 17 октября 2019

я уже решил это Мой последний код:

int ProcessIDDaca = 111111111;
        private void btnDacaStart_Click(object sender, EventArgs e)
        {

            try
            {
                using (Process myprocess = new Process())
                {
                    myprocess.StartInfo.UseShellExecute = false;
                    myprocess.StartInfo.FileName = @"C:\Users\nx011116\Documents\MachineMonitor\CopyChimp_Server\bin\Debug\CopyChimpServer.exe";
                    //myprocess.StartInfo.FileName = @"C:\Program Files\Eltima Software\Virtual Serial Port Driver 9.0\vspdconfig.exe";
                    myprocess.StartInfo.CreateNoWindow = true;

                    if (btnDacaStart.Text == "Stop")
                    {
                        Process proc = Process.GetProcessById(ProcessIDDaca);
                        proc.Kill();
                        btnDacaStart.Text = "Start";
                        lblDacaID.Text = "";
                    }
                    else
                    {
                        myprocess.StartInfo.Arguments = "test";
                        myprocess.Start();
                        var s = myprocess.Id;
                        ProcessIDDaca = myprocess.Id;
                        lblDacaID.Text = s.ToString();
                        btnDacaStart.Text = "Stop";
                    }

                }
            }

            catch (Exception ex)
            {

            }

        }

public static string copychimp_server = "";
  public static int port_number = 0;

  static void Main(string[] args)
        {
            Console.Write("Enter copychimp server: ");
            //Here i need to provide
            copychimp_server = args[0];
            Console.Write("Enter port number: ");
            //Here i need to provide
            port_number = Convert.ToInt16(Console.ReadLine());


        }

Ссылочная ссылка Как передать параметры другому процессу в c #

0 голосов
/ 17 октября 2019

Почему вы установили myprocess.StartInfo.CreateNoWindow в значение true? Установите значение false и повторите попытку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...