2010-05-20 1 views
1

내 프로그램에서 Windows의 실행 명령을 모방하고 싶습니다. 즉, 사용자가 실행 상자에 입력 한 것과 똑같은 텍스트를 "실행"할 수있는 기능을 제공하고 싶습니다..NET의 모의 Windows '실행'창

System.Diagnostics.Process.Start()이 나에게 가까워 지지만 % AppData %와 같은 환경 변수와 같은 특정 항목을 얻지 못하는 것 같습니다. "% AppData % '을 찾을 수 없습니다."라는 메시지가 계속 나타납니다.

답변

1

수행하려는 작업에 따라 자동으로 환경 변수를 확장하는 CMD.EXE를 호출 할 수도 있습니다. 아래 예제는 % appdata % 폴더의 DIR을 수행하고 stdOut을 디버그로 리디렉션합니다.

 StreamReader stdOut; 

     Process proc1 = new Process(); 
     ProcessStartInfo psi = new ProcessStartInfo("CMD.EXE", "/C dir %appdata%"); 
     psi.RedirectStandardOutput = true; 
     psi.UseShellExecute = false; 
     proc1.StartInfo = psi; 
     proc1.Start(); 
     stdOut = proc1.StandardOutput; 

     System.Diagnostics.Debug.Write(stdOut.ReadToEnd()); 
+0

고마워,하지만 명령 창으로 명령을 제한하고 싶지 않아. – devios1