2009-04-10 4 views
2

관리 코드에서 다른 EXE를 시작할 수 있습니까? 현재 내가 할 수있는 일은 다음과 같습니다.관리 코드에서 다른 EXE 시작

System.Diagnostics.Process.Start(exeName) 

동일한 프로젝트 내에서 다른 EXE를 호출하는 또 다른 방법이 있습니까?

감사합니다. JFV

답변

8
  Process process = new Process(); 
      process.StartInfo.FileName = "c:\test.exe"; 
      process.StartInfo.Arguments = "/e /s"; 
      process.Start(); 

당신이 그런 process.WaitForExit (같은 프로세스에 대한 많은 옵션을 얻을 이런 식으로) 그래서 당신은 비동기 프로세스를 실행하지 않을 수

+0

:

실행 파일의 경로를 얻을 수있는 다른 방법이 많이있다 : 당신이 특정 약이 될 수있는 무언가를 사용하는 것이 좋습니다 것입니다. – chills42

+0

감사! 나는 이것을 조사 할 것이다! – JFV

1

상대 경로를 사용하면 효과가 있습니다.

4

관리되는 경우 Assembly.ExecuteAssembly를 사용할 수 있습니다. 그러면 새 프로세스를 시작하는 대신 현재 프로세스의 기본 진입 점이 실행됩니다.

0

상대 경로는은 CurrentDirectory를 사용하는 등, 사용자가 작업을 쉽게 할 수 있습니다 앱을 시작할 때 이것을 변경하면 실행 중에 변경 될 수 있습니다. 나는 우리가 설정 한 몇 가지 테스트 프로젝트를 위해이 방법을 사용

AppDomain.CurrentDomain.BaseDirectory 

Assembly.GetExecutingAssembly().Location