有没有办法将字符串参数传递给从我自己的进程中生成的进程。
我的主要申请表中有:
Process.Start(Path.Combine(Application.StartupPath, "wow.exe");
wow.exe
是我创建的另一款应用。我需要将参数传递给这个exe(一个字符串)。我怎样才能实现这一目标?
我尝试了什么:
ProcessStartInfo i = new //........
i.Argument = "cool string";
i. FileName = Path.Combine(Application.StartupPath, "wow.exe");
Process.Start(i);
在我撰写的wow
应用程序的主要内容中:
static void Main()
{
//print Process.GetCurrentProcess().StartInfo.Argument;
}
但我从来没有在第二个应用程序的Main中找到我的字符串。 Here is a question提出why
,但没有how to solve it
..
修改: Environment.GetCommandLineArgs()[1]
,必须如此。然而,让它工作。接受@ Bali的回答,他首先回答这个问题。谢谢大家
答案 0 :(得分:2)
要获得传递的参数,您可以使用string[] args
中的Main
,也可以使用Environment.GetCommandLineArgs
。
示例:
Console.WriteLine(args[0]);
或
Console.WriteLine(Environment.GetCommandLineArgs[0]);
答案 1 :(得分:2)
你可能想要一个
static void Main(string[] args)
{
}
其中args
包含您在
答案 2 :(得分:1)
在wow.exe
program.cs
static void Main()
{
//Three Lines of code
}
将其更改为
static void Main(string[] args)
{
//Three Lines of code
}
string[] args.
现在将包含传递给你的exe的参数。
或者您可以使用
string[] arguments = Environment.GetCommandLineArgs();
你的论点被空格" "
打破了。
答案 3 :(得分:1)
以下是如何将参数传递给exe的示例:
static void Main()
{
string[] args = Environment.GetCommandLineArgs();
string firstArgument = args[0];
string secondArgument = args[1];
}
或稍微更改主要方法:
static void Main(string []args)
{}