2016-12-21 1 views
1

응용 프로그램을 다시 시작한 후에 어떻게 시작 인수를 사용할 수 있습니까?C# 도구를 다시 시작한 후에 실행 인수를 사용합니다.

나는 다음과 같은 방법으로 인수를 전달 해요 :

private void updateApplication(string tempFilePath, string currentPath, string newPath, string launchArgs) 
{ 
    string argument = "/C Choice /C Y /N /D Y /T 4 & Del /F /Q \"{0}\" & Choice /C Y /N /D Y /T 2 & Move /Y \"{1}\" \"{2}\" & Start \"\" /D \"{3}\" \"{4}\" {5}"; 
    ProcessStartInfo info = new ProcessStartInfo(); 

    info.Arguments = string.Format(argument, currentPath, tempFilePath, newPath, Path.GetDirectoryName(newPath), Path.GetFileName(newPath), launchArgs); 
    info.WindowStyle = ProcessWindowStyle.Hidden; 
    info.CreateNoWindow = true; 
    info.FileName = "cmd.exe"; 
    Process.Start(info); 
} 

지금 도구를 업그레이드하는 것하고 다시 시작하지만, 어떻게 새로운 다시 시작할 launchArgs에 저장된 전달 된 인수를 사용할 수 있을까?

+0

새로운 시작에 대한 인수도 전달한다. – Steve

답변

0

전달 된 인수는 입력 메소드에서 액세스 할 수 있습니다.

class Program 
{ 
    static void Main(string[] args) 
    { 
      // args contains the arguments passed at startup. 
    } 
} 
+0

그렇다. '이제는 슬프게도 다음 오류가 발생했습니다 : 'startUp.startUp (string []) '의 필수 매개 변수'args '에 해당하는 인수가 없습니다. – dnxc

+0

매개 변수를 얻을 수 없기 때문에 업데이트 후에 만 ​​정상적인 시작시 전달됩니다. – dnxc

+0

명령 프롬프트를 다시 시작 하시겠습니까? – Agalo

0

여러분이 이미 그렇게하고있는 것처럼 보입니다. 어떻게 든 유지 된 이들을 원한다면 나는 당신의 인스턴스에 변수에 넣는 것을 고려할 것이고, 업데이트 명령을 받으면 거기에서 끌어 와서 그들을 건네 주겠다.

관련 문제