Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C#에서 외부 프로그램 실행하는 방법 – Process 클래스 완벽 가이드

C# 애플리케이션에서 Process 클래스를 사용하면 외부 프로그램을 손쉽게 실행할 수 있습니다. 프로세스란 현재 컴퓨터에서 실행 중인 프로그램을 의미합니다. 맞춤법 검사기나 시스템 이벤트 처리기 같은 작은 백그라운드 작업부터 메모장과 같은 완전한 데스크톱 애플리케이션까지 모두 프로세스에 해당합니다.

프로세스와 스레드의 개념

각 프로세스는 프로그램을 실행하는 데 필요한 리소스를 제공합니다. 프로세스는 시작될 때 하나의 스레드, 즉 기본 스레드(primary thread)와 함께 생성되며, 필요에 따라 여러 개의 추가 스레드를 가질 수도 있습니다.

프로세스는 시스템 리소스에 크게 의존하는 반면, 스레드는 최소한의 리소스만 필요로 합니다. 그래서 프로세스를 '무거운(heavyweight)' 단위로, 스레드는 '가벼운(lightweight)' 프로세스로 분류합니다. C#에서 프로세스를 다루려면 System.Diagnostics 네임스페이스를 사용해야 합니다.

C#으로 메모장 실행하기

다음 예제는 C# 콘솔 애플리케이션에서 메모장(notepad.exe)을 실행하고, 인수로 전달된 파일 이름과 함께 창을 띄우는 코드입니다.

using System;
using System.Diagnostics;
namespace DemoApplication{
    class Program{
        static void Main(){
            Process notepad = new Process();
            notepad.StartInfo.FileName = "notepad.exe";
            notepad.StartInfo.Arguments = "DemoText";
            notepad.Start();
            Console.ReadLine();
        }
    }
}

위 코드를 실행하면 콘솔 애플리케이션이 메모장을 열고, 인수로 지정한 'DemoText'라는 이름이 제목 표시줄에 나타납니다.

C#으로 웹 브라우저 실행하기

Process.Start() 메서드에 URL을 직접 전달하면 기본 브라우저가 자동으로 실행되어 해당 페이지로 이동합니다.

using System;
using System.Diagnostics;
namespace DemoApplication{
    class Program{
        static void Main(){
            Process.Start("https://www.google.com/");
            Console.ReadLine();
        }
    }
}

위 코드를 실행하면 시스템에 설정된 기본 브라우저가 열리고 www.google.com 페이지로 이동합니다. 이처럼 Process 클래스를 활용하면 실행 파일뿐 아니라 문서, URL 등 다양한 대상을 간편하게 실행할 수 있습니다.