如何将parameter passing给另一个进程在C#

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

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

我希望能够从这个应用程序的parameter passing到我已经启动的过程。

我必须在我已经启动的过程的项目中input参数? 我试图把他们放进去

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

但是它们不可用于其他forms。 谢谢您的帮助

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

要么

 Process.Start("demo.exe", "ab"); 

在demo.exe中

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

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

 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]); 

等等

主要应用代码:

 var process = new Process(); process.StartInfo.FileName = "demo.exe" // Path to your demo application. process.StartInfo.Arguments = "abc" // 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”和“c”。