2011-09-08 106 views
0

我有,我有运行C#的Process.Start传递参数递归

ikvm.exe罐子XXX.jar这种使用情况下,

其中XXX.jar需要字符串ARGS作为参数。

那么,我该如何调用Process.Start,以便我可以实现这一点。

只需键入ikvm.exe -jar XXX.jar参数不起作用。

回答

2
using (Process process = new Process()) 
{ 
    process.StartInfo.FileName = "ikvm.exe"; 
    process.StartInfo.Arguments = "-jar XXX.jar"; 
    process.Start(); 
    process.WaitForExit(); 
    ... 
} 

这是你想要的?

+0

这不是我想要的东西传递给它一个ProcessStartInfo对象。我想递归调用Process.Start。例如proc1需要2个参数arg1和proc2。现在,proc 2需要3个参数arg2,arg3和arg4。我不认为我可以做Process.Start(proc1,“arg1 proc2 arg2 arg3 arg4”)。我也不能调用proc2然后proc1。我特别的用例是我需要使用ikvm(proc1)调用jar文件(这是proc2),arg1是-jar和arg2,arg3和arg4是jar文件的参数。 – Anupam

1

你需要调用Process.Start()与命令行参数的例子下面是从这里http://msdn.microsoft.com/en-us/library/system.diagnostics.processstartinfo.aspx

 ProcessStartInfo startInfo = new ProcessStartInfo("IExplore.exe"); 
     startInfo.WindowStyle = ProcessWindowStyle.Minimized; 

     Process.Start(startInfo); 

     startInfo.Arguments = "www.northwindtraders.com"; 

     Process.Start(startInfo); 
+0

这也不是我想要的。请参阅我对Scott的回复的回复。就我而言,其中一个参数是一个过程,而这个过程本身就有争议。而你给出的例子有一个接一个地开始的相同过程。 – Anupam