2011-09-08 7 views
0

나는 C# Process.Start를 전달 인수 재귀

ikvm.exe -jar XXX.jar

을 실행해야하는이 사용 사례, XXX.jar가 인수로 문자열 인수를 취

있습니다.

그래서 이것을 수행 할 수 있도록 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은 arg1과 proc2라는 두 개의 인수를 취합니다. 이제 proc 2는 arg2, arg3 및 arg4라는 3 개의 인수를 취합니다. 나는 Process.Start (proc1, "arg1 proc2 arg2 arg3 arg4")를 할 수 있다고 생각하지 않는다. proc2를 호출 한 다음 proc1을 호출 할 수도 없습니다. 내 특별한 사용 사례는 ikvm (proc1), arg1은 -jar 및 arg2, arg3 및 arg4는 jar 파일의 인수를 사용하여 jar 파일 (proc2)을 호출해야한다는 것입니다. – 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