我的代码启动一个包含3个以空格分隔的参数的进程。
ProcessStartInfo info = new ProcessStartInfo();
info.FileName = exeLauncher;
info.Arguments = path + " " + exeName + " " + restartNeeded;
Process process = new Process();
Process.Start(info);
我正在解析我开始的进程上的参数并进行一些处理。
static void Main(string[] args)
{
Console.WriteLine(args[0]);
Console.WriteLine(args[1]);
Console.WriteLine(args[2]);
//some more processing here
Console.ReadLine();
}
处理完毕后,我希望控制台窗口自行关闭。我试过像这样使用/c
参数,但它只是把它解释为一个普通的字符串。
info.Arguments = "/c" + path + " " + exeName + " " + restartNeeded;
我还尝试将参数括在""
双引号中,但它不起作用。
info.Arguments = string.Format("/c \"{0} {1} {2}\"", path, exeName, restartNeeded);
答案 0 :(得分:2)
你可以这样试试
static void Main(string[] args)
{
Console.WriteLine(args[0]);
Console.WriteLine(args[1]);
Console.WriteLine(args[2]);
//some more processing here
}
Console.ReadLine();
会让您等待,直到按下回车键才会关闭窗口。因此,您可以删除此行以完成任务。
答案 1 :(得分:1)
您是否尝试删除Console.ReadLine();
并返回int以了解其是否成功执行,例如:
static int Main(string[] args)
{
Console.WriteLine(args[0]);
Console.WriteLine(args[1]);
Console.WriteLine(args[2]);
//some more processing here
return 0; // if success or > 1 for errors
}
答案 2 :(得分:0)
这应该适合你:
Environment.Exit(0);