2011-04-25 2 views
2

은 현재 내가 코드 아래 사용하여 다른 WPF 응용 프로그램 (4.0 응용 프로그램)에서 (3.5 프레임 워크에) 하나의 WPF의 EXE를 실행하고있어 : 위의 이유 WPF 응용 프로그램에서 다른 응용 프로그램으로 명령 줄을 전달하는 방법은 무엇입니까?

var processInfo = new ProcessStartInfo("WPFAPP1.exe", "param"); 
Process.Start(processInfo); 

입니다

: 나는 몇 가지를 사용하고
3.5 프레임 워크 만 지원하고 기존 응용 프로그램은 4.0에있는 타사. 변경해야 할 프로젝트가 200 개 정도 있기 때문에 현재 애플리케이션 유형을 변경할 수 없습니다.

이제 문제는 WPFAPP1.exe에서 명령 줄 매개 변수 (예 : 내 경우에는 "param")를 가져오고 싶습니다. 이를 위해 나는 WPFAPP1 응용 프로그램 코드의 아래 부분 (필자는 마스터 응용 프로그램에서 전화 드렸습니다 한 .exe 응용 프로그램)을 사용

public static String[] mArgs; 
    void Application_Startup(object sender, StartupEventArgs e) 
    { 
     if (e.Args.Length > 0) 
     { 
      mArgs = e.Args; 
     } 
    } 

그리고 MainWindow.xaml.cs를에

:

 public MainWindow() 
     { 
      InitializeComponent(); 
      String[] args = App.mArgs; 
      txtTest.Text = args[0]; 
     } 

위의 코드를 시도했지만 각 값 (마스터 응용 프로그램 "param"에서 전달한 값)을 얻지 못했습니다. 또한 예외 나 오류가 발생하지 않았습니다. 어떤 도움이 정말 감사 할 것입니다.

+0

"작동하지 않습니다"는 매우 설명 적이 지 않습니다. 무슨 일이야? args [0] 대신에 args [1]을 사용하는 이유는 무엇입니까? –

+0

아, 죄송합니다. 입력 오류입니다. args [0]을 사용하고 있습니다 ... – Peter

+1

왜 이전 질문을 복사 했습니까? –

답변

0

System.Diagnostics.Process.GetCurrentProcess(). StartInfo를 살펴보십시오. 현재 프로세스의 모든 인수를 포함하는 Arguments 속성이있는 ProcessStartInfo 인스턴스입니다.

새 ProcessStartInfo 인스턴스를 생성하고 인수를 모든 하위 프로세스에 전달할 수 있습니다.

관련 문제