using System;
using System.Diagnostics;
class Program
{
static void Main(string[] args)
{
string Command = "dir";
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = "cmd.exe";
startInfo.Arguments = "/C " + Command;
Process process = new Process();
process.StartInfo = startInfo;
process.Start();
}
}
C++에서 system("") 함수를 사용하여 시스템 명령어를 실행할 때는 내부적으로 명령 프롬프트를 호출하는 작업이 숨겨져 있어서 간단히 실행할 수 있었는데, C#에서는 이 작업을 명시적으로 해주어야 한다.
ProcessStartInfo startInfo = new ProcessStartInfo();
로 프로세스 시작 정보를 저장하기 위한 객체를 생성한다.
FileName 엔 실행할 파일명
그리고 Arguments에는 명령프롬프트에서 실행할 명령인수들을 입력한다.
Process process = new Process();
를 통해 Process 객체를 생성한 뒤 객체의 시작정보를 startInfo로 설정하고 process.Start();로 프로세스를 실행한다.
참고로 cmd 명령어 뒤에 "/c "는 다음 문자열을 받아 명령을 실행한 뒤 cmd.exe를 종료하라는 뜻이고
"/k"가 오면 명령 프롬프트 창이 남아있게 할 수 있다.
'프로그래밍 > C# (WinForms)' 카테고리의 다른 글
C#, WinForms ] tabControl의 탭 부분 색상 변경 (0) | 2023.11.07 |
---|---|
C#, WinForms ] 자식 폼에서 부모 폼으로 데이터 전달 방법, 이벤트 / 프로퍼티 (1) | 2023.05.14 |
WinForms ] Anchor, Dock properties (0) | 2023.05.14 |
C#, WinForms ] Event 와 delegate (0) | 2023.05.14 |
C#, WinForms ] CRC Checker (0) | 2023.05.14 |