Programming/C++
[MFC] 명령줄 인자, Argument 받아서 프로그램 실행하기
MVP
2021. 3. 22. 15:25
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
BOOL CTestDlg::OnInitDialog()
{
CDialog::OnInitDialog();
m_bExecuteByCmd = 0;
CString strArgs;
CWinApp *App = AfxGetApp();
strArgs = App->m_lpCmdLine;
strArgs.MakeLower();
strArgs.TrimLeft();strArgs.TrimRight();
if(strArgs == "-viewer"){
m_bExecuteByCmd = 1;
m_nViewer_Mode = 1;
}
}
|
cs |
위 코드는 Argument를 받아서 프로그램을 실행할 수 있게 하는 아주 간단한 코드 예제이다.
여기서 꼭 필요한 코드는
CString strArgs;
CWinApp *App = AfxGetApp();
strArgs = App->m_lpCmdLine;
만 보면 되며, 이 인자값(strArgs)에 따라 전혀 다른 실행 결과를 만드는 프로그램을 만들 수 있다.
예를 들어 .bat, .cmd 파일에서
start "" "Test.exe" -viewer
와 같은 내용을 입력 및 저장하고 해당 파일을 실행하면 -viewer 라는 명령줄 인자가 strArgs에 저장되게 된다.
이 인자값이 주어졌을 때 그냥 일반 프로그램이 아니라 뷰어 프로그램이 실행되도록 할 수 있게 되는 것이다.
또는 프로젝트 속성 -> 구성 속성 -> 디버깅 -> 명령 인수에 -viewer를 입력하고 디버깅해도 된다.