콘솔 프로그램은 개발의 간편성과 그 기능과 책임이 명확함으로 단위 기능을 제공하는, 마치 API와 같은 역할을 제공한다고 할 수 있습니다. 이러한 콘솔 프로그램의 진정한 가치의 발휘는 여러 개의 콘솔 프로그램이 조합되어 실행되고 그 결과들이 모여 또 다른 하나의 결과로 취합 또는 새롭게 생성되는 것인데요. 이러한 콘솔 프로그램을 실행하고 실행된 프로그램이 종료될때까지 기다리는 C# 함수에 대한 소개입니다.
using System.Diagnostics; private int RunProcess(String FileName, String Args) { Process p = new Process(); p.StartInfo.FileName = FileName; p.StartInfo.Arguments = Args; p.StartInfo.WindowStyle = ProcessWindowStyle.Normal; p.Start(); p.WaitForExit(); return p.ExitCode; }
위의 RunProcess 함수는 2개의 인자를 받습니다. FileName 인자는 프로그램에 대한 실행 파일 경로이고 Args는 실행 파일이 받는 Command Line 단의 인자에 대한 문자열입니다. 이 함수는 실행되는 프로그램이 반환하는 값을 다시 반환하고 있으므로 이 반환값을 이용해 해당 프로그램의 성공 여부를 판단할 수 있습니다.
사실 RunProcess 함수는 .NET에서 Process라는 클래스의 사용을 좀더 편리하고 쉽게 사용할 수 있도록 한 것입니다. Process 클래스는 프로세스에서 출력하는 내용에 대한 처리라든지, 실행 및 종료 처리는 물론, 종료시 또는 에러발생시에 대한 이벤트 처리 등에 대한 다양한 기능을 제공하므로 더욱 고급진 프로세스의 처리가 가능합니다.
^^;; 혹시 위 함수를 사용한 간단한 예제 파일 하나 얻을 수 있을 까요?
만약에.. Command 창에서 dir /w 를 입력해서 실행할적에..
아래처럼 되겠네요~
RunProcess(“dir”, “/w”)
확인해 본건 아니니 안될 수 있으나 대략 비슷합니다요다는 제다이~~