본문 바로가기

이전글

MFC에서 C/C++처럼 인자 받아오기

c/c++ 에서 main(int argc, char* argv[]) 처럼 메인함수를 정의하면 프로그램 실행할 때 인자를 넘겨줄 수 있다
인자 수는 argc
인자 값은 argv 에 저장된다.

MFC 에서는 몇가지 방법이 있다.

1.
App에 있는 InitInstance 함수를 찾아 보면
CCommandLineInfo cmdInfo;
ParseCommandLine(cmdInfo);
이런 부분이 있는데.
CCommandLineInfo 객체를 이용해서 실행시 전달받은 아규먼트를 받을수 있다.
ParseCommandLine을 호출하게 되면 m_lpCmdLine 에 아규먼트 값이 담기게 된다.

2.
ParseCommandLine 대신에 GetCommandLine() 이라는 함수를 사용

3. 전역변수로 선언된 __argc, __argv 를 이용하는 방법

기타)
윈도우 탐색기에서 *.doc 파일을 더블클릭하게 되면 MS-Word 가 실행되고
                          *.hwp 파일을 더블클릭하게 되면 한글이 실행되는데,
이때 연결되는 파일의 정보는 m_lpCmdLine에 담기게 된다.

<예제>
BOOL CacceptfileApp::InitInstance(){
    //  .......... 중략.............   
 CCommandLineInfo cmdInfo;
    ParseCommandLine(cmdInfo);
    AfxMessageBox("이 파일을 열겠다.");
    AfxMessageBox(m_lpCmdLine);
}

인자 받아오는 법을 알아냈다. 후후후........
내가 일하는 부서는 S/W 인프라 운영 부서이다. 그런데 나 혼자 개발을 하고 있다.
그래서 난 항상 나의 사수로 구글과 네이버 그리고 데브피아.. 이렇게 세 명을 내 사수로 두고 있다.

정말 대단한 사수다 ^^