2011-09-08 93 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