如何在c#中向另一个进程传递参数

本文关键字:进程 参数 另一个 | 更新日期: 2023-09-27 18:09:31

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

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

我希望能够将这个应用程序的参数传递给我启动的进程。

我必须在我启动的过程的项目中输入参数?我试着把它们放到

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

,但不能以其他形式使用。谢谢你的帮助

如何在c#中向另一个进程传递参数

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;}
}

and in main

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

在程序的任何地方获取参数,使用:

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

等。

主应用程序代码:

var process = new Process();
process.StartInfo.FileName = "demo.exe" // Path to your demo application.
process.StartInfo.Arguments = "a b c"   // Your arguments
process.Start();

在您的演示应用程序中(我假设这是控制台应用程序)

static void Main (string [] args)
{
    var agrumentOne = args[0];
    var agrumentTwo = args[1];
    var agrumentThree = args[3];
}

这里argumentOne, argumentTwo, argumentThree将包含"a", "b"answers"c"