我刚刚创建了一个使用以下代码启动进程的应用程序
string [] args = {"a", "b"};
Process.Start ("C: \ \ demo.exe" String.Join ("", args));
我希望能够将此应用程序中的参数传递给我启动的进程。
我必须在我启动的流程的项目中输入参数?我试着把它们放进去
static void Main (string [] args) {...
但它们不能以其他形式提供。谢谢您的帮助
我刚刚创建了一个使用以下代码启动进程的应用程序
string [] args = {"a", "b"};
Process.Start ("C: \ \ demo.exe" String.Join ("", args));
我希望能够将此应用程序中的参数传递给我启动的进程。
我必须在我启动的流程的项目中输入参数?我试着把它们放进去
static void Main (string [] args) {...
但它们不能以其他形式提供。谢谢您的帮助
Process p= new Process();
p.StartInfo.FileName = "demo.exe";
p.StartInfo.Arguments = "a b";
p.Start();
或者
Process.Start("demo.exe", "a b");
在演示.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]);
等等
主要应用代码:
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”和“c”。