如何将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”。