一尘不染

如何在C#中将参数传递给另一个进程

c#

我刚刚创建了一个使用以下代码启动进程的应用程序

string [] args = {"a", "b"};
             Process.Start ("C: \ \ demo.exe" String.Join ("", args));

我希望能够将参数从此应用程序传递给我启动的过程。

在启动过程的项目中必须在哪里输入参数?我试图把它们放进去

static void Main (string [] args) {...

但无法以其他形式使用。谢谢您的帮助


阅读 358

收藏
2020-05-19

共1个答案

一尘不染

Process p= new Process();
p.StartInfo.FileName = "demo.exe";
p.StartInfo.Arguments = "a b";
p.Start();

要么

Process.Start("demo.exe", "a b");

在demo.exe中

static void Main (string [] args)
{
  Console.WriteLine(args[0]);
  Console.WriteLine(args[1]);
}

您问如何保存这些参数。您可以创建具有静态属性的新类,然后将这些参数保存在那里。

class ParamHolder
{
  public static string[] Params { get; set;}
}

和主要

static void Main (string [] args)
{
  ParamHolder.Params = args;
}

在程序的任何位置获取参数:

Console.WriteLine(ConsoleParamHolder.Params[0]);
Console.WriteLine(ConsoleParamHolder.Params[1]);

等等

2020-05-19