다음을 통해 공유


CCommandLineInfo 수업

애플리케이션을 시작할 때 명령줄을 구문 분석하는 데 유용합니다.

구문

class CCommandLineInfo : public CObject

멤버

공용 생성자

속성 설명
CCommandLineInfo::CCommandLineInfo 기본 CCommandLineInfo 개체를 생성합니다.

공용 메서드

이름 설명
CCommandLineInfo::ParseParam 개별 매개 변수를 구문 분석하려면 이 콜백을 재정의합니다.

공용 데이터 멤버

속성 설명
CCommandLineInfo::m_bRunAutomated 명령줄 /Automation 옵션이 발견되었음을 나타냅니다.
CCommandLineInfo::m_bRunEmbedded 명령줄 /Embedding 옵션이 발견되었음을 나타냅니다.
CCommandLineInfo::m_bShowSplash 시작 화면이 표시되어야 하는지를 나타냅니다.
CCommandLineInfo::m_nShellCommand 처리할 셸 명령을 나타냅니다.
CCommandLineInfo::m_strDriverName 셸 명령이 인쇄 대상인 경우 드라이버 이름을 나타냅니다. 그렇지 않으면 비어 있습니다.
CCommandLineInfo::m_strFileName 열거나 인쇄할 파일 이름을 나타냅니다. 셸 명령이 New 또는 DDE이면 입니다.
CCommandLineInfo::m_strPortName 셸 명령이 인쇄 대상인 경우 포트 이름을 나타냅니다. 그렇지 않으면 비어 있습니다.
CCommandLineInfo::m_strPrinterName 셸 명령이 인쇄 대상인 경우 프린터 이름을 나타냅니다. 그렇지 않으면 비어 있습니다.
CCommandLineInfo::m_strRestartIdentifier 다시 시작 관리자가 애플리케이션을 다시 시작한 경우 다시 시작 관리자에 대한 고유 다시 시작 식별자를 나타냅니다.

설명

MFC 애플리케이션은 일반적으로 해당 애플리케이션 개체의 함수에서 InitInstance 이 클래스의 로컬 인스턴스를 만듭니다. 그런 다음 이 개체가 전달되어 CWinApp::ParseCommandLine개체를 채우기 위해 반복적으로 호출 ParseParam 됩니다 CCommandLineInfo . CCommandLineInfo 그런 다음 명령줄 인수 및 플래그를 처리하기 위해 개체가 전달 CWinApp::ProcessShellCommand 됩니다.

이 개체를 사용하여 다음 명령줄 옵션 및 매개 변수를 캡슐화할 수 있습니다.

명령줄 인수 명령 실행됨
app 새 파일입니다.
파일 이름 파일을 엽니다.
/p 파일 이름 파일을 기본 프린터로 인쇄합니다.
/pt 파일 이름 프린터 드라이버 포트 지정된 프린터에 파일을 인쇄합니다.
/dde DDE 명령을 시작하고 대기합니다.
/Automation OLE 자동화 서버로 시작합니다.
/Embedding 포함된 OLE 항목을 편집하기 시작합니다.
/Register

/Regserver
등록 작업을 수행하도록 애플리케이션에 알릴 수 있습니다.
/Unregister

/Unregserver
등록 취소 작업을 수행하도록 애플리케이션에 알릴 수 있습니다.

새 클래스 CCommandLineInfo 를 파생하여 다른 플래그 및 매개 변수 값을 처리합니다. 새 플래그를 처리하도록 재정 ParseParam 의합니다.

상속 계층 구조

CObject

CCommandLineInfo

요구 사항

머리글: afxwin.h

CCommandLineInfo::CCommandLineInfo

이 생성자는 기본값을 사용하여 개체를 CCommandLineInfo 만듭니다.

CCommandLineInfo();

설명

기본값은 시작 화면()을 표시하고 파일 메뉴(m_bShowSplash=TRUEm_nShellCommand=NewFile)에서 명령을 실행하는 것입니다.

애플리케이션 프레임워크는 이 개체의 데이터 멤버를 채우기 위해 호출 ParseParam 합니다.

예시

CCommandLineInfo cmdInfo;
ParseCommandLine(cmdInfo);

CCommandLineInfo::m_bRunAutomated

명령줄에서 /Automation 플래그가 발견되었음을 나타냅니다.

BOOL m_bRunAutomated;

설명

이 경우 TRUEOLE 자동화 서버로 시작하는 것을 의미합니다.

CCommandLineInfo::m_bRunEmbedded

명령줄에서 /Embedding 플래그가 발견되었음을 나타냅니다.

BOOL m_bRunEmbedded;

설명

이 경우 TRUE포함된 OLE 항목을 편집하기 시작합니다.

CCommandLineInfo::m_bShowSplash

시작 화면이 표시되어야 임을 나타냅니다.

BOOL m_bShowSplash;

설명

이 경우 TRUE시작 중에 이 애플리케이션의 시작 화면이 표시되어야 합니다. 이 데이터 멤버를 ParseParamCCommandLineInfo::FileNew으면 m_nShellCommand 이 데이터 멤버를 TRUE 설정하는 기본 구현입니다.

CCommandLineInfo::m_nShellCommand

애플리케이션의 이 인스턴스에 대한 셸 명령을 나타냅니다.

m_nShellCommand;

설명

이 데이터 멤버의 형식은 클래스에 CCommandLineInfo 정의된 다음 열거형 형식입니다.

enum {
    FileNew,
    FileOpen,
    FilePrint,
    FilePrintTo,
    FileDDE,
    AppRegister,
    AppUnregister,
    RestartByRestartManager,
    FileNothing = -1
    };

이러한 값에 대한 간략한 설명은 다음 목록을 참조하세요.

  • CCommandLineInfo::FileNew 명령줄에서 파일 이름을 찾을 수 없음을 나타냅니다.

  • CCommandLineInfo::FileOpen명령줄에서 파일 이름을 찾았으며 명령줄/p/pt/dde에서 다음 플래그를 찾을 수 없음을 나타냅니다.

  • CCommandLineInfo::FilePrint 명령줄에서 /p 플래그가 발견되었음을 나타냅니다.

  • CCommandLineInfo::FilePrintTo 명령줄에서 /pt 플래그가 발견되었음을 나타냅니다.

  • CCommandLineInfo::FileDDE 명령줄에서 /dde 플래그가 발견되었음을 나타냅니다.

  • CCommandLineInfo::AppRegister 명령줄에서 /Register 또는 /Regserver 플래그가 발견되었고 애플리케이션에 등록하라는 메시지가 표시됨을 나타냅니다.

  • CCommandLineInfo::AppUnregister또는 /Unregserver 애플리케이션이 /Unregister 등록 취소를 요청했음을 나타냅니다.

  • CCommandLineInfo::RestartByRestartManager 애플리케이션이 다시 시작 관리자에 의해 다시 시작되었음을 나타냅니다.

  • CCommandLineInfo::FileNothing 시작 시 새 MDI 자식 창의 표시를 해제합니다. 기본적으로 애플리케이션 마법사에서 생성된 MDI 애플리케이션은 시작 시 새 자식 창을 표시합니다. 이 기능을 끄려면 애플리케이션이 호출ProcessShellCommand할 때 셸 명령으로 사용할 CCommandLineInfo::FileNothing 수 있습니다. ProcessShellCommand는 모든 CWinApp 파생 클래스에서 InitInstance( ) 호출됩니다.

예시

// From CMyWinApp::InitInstance

// Parse command line for standard shell commands, DDE, file open
CCommandLineInfo cmdInfo;
ParseCommandLine(cmdInfo);

// DON'T display a new MDI child window during startup!!!
cmdInfo.m_nShellCommand = CCommandLineInfo::FileNothing;

// Dispatch commands specified on the command line
if (!ProcessShellCommand(cmdInfo))
{
   return FALSE;
}

CCommandLineInfo::m_strDriverName

명령줄에 세 번째 플래그가 아닌 매개 변수의 값을 저장합니다.

CString m_strDriverName;

설명

이 매개 변수는 일반적으로 인쇄 대상 셸 명령에 대한 프린터 드라이버의 이름입니다. 명령줄에서 ParseParam 플래그가 발견된 경우에만 이 데이터 멤버를 /pt 설정하는 기본 구현입니다.

CCommandLineInfo::m_strFileName

명령줄에 플래그가 아닌 첫 번째 매개 변수의 값을 저장합니다.

CString m_strFileName;

설명

이 매개 변수는 일반적으로 열 파일의 이름입니다.

CCommandLineInfo::m_strPortName

네 번째 비 플래그 매개 변수의 값을 명령줄에 저장합니다.

CString m_strPortName;

설명

이 매개 변수는 일반적으로 인쇄 대상 셸 명령에 대한 프린터 포트의 이름입니다. 명령줄에서 ParseParam 플래그가 발견된 경우에만 이 데이터 멤버를 /pt 설정하는 기본 구현입니다.

CCommandLineInfo::m_strPrinterName

두 번째 비 플래그 매개 변수의 값을 명령줄에 저장합니다.

CString m_strPrinterName;

설명

이 매개 변수는 일반적으로 인쇄 대상 셸 명령의 프린터 이름입니다. 명령줄에서 ParseParam 플래그가 발견된 경우에만 이 데이터 멤버를 /pt 설정하는 기본 구현입니다.

CCommandLineInfo::m_strRestartIdentifier

명령줄의 고유 다시 시작 식별자입니다.

CString m_strRestartIdentifier;

설명

다시 시작 식별자는 애플리케이션의 각 인스턴스에 대해 고유합니다.

다시 시작 관리자가 애플리케이션을 종료하고 다시 시작하도록 구성된 경우 다시 시작 관리자는 다시 시작 식별자를 선택적 매개 변수로 사용하여 명령줄에서 애플리케이션을 실행합니다. 다시 시작 관리자가 다시 시작 식별자를 사용하는 경우 애플리케이션은 이전에 열려 있는 문서를 다시 열고 자동 저장 파일을 복구할 수 있습니다.

CCommandLineInfo::ParseParam

프레임워크는 명령줄에서 개별 매개 변수를 구문 분석/해석하기 위해 이 함수를 호출합니다. 두 번째 버전은 유니코드 프로젝트의 첫 번째 버전과 다릅니다.

virtual void ParseParam(
    const char* pszParam,
    BOOL bFlag,
    BOOL bLast);

virtual void ParseParam(
    const TCHAR* pszParam,
    BOOL bFlag,
    BOOL bLast);

매개 변수

pszParam
매개 변수 또는 플래그입니다.

bFlag
매개 변수인지 플래그인지 pszParam 를 나타냅니다.

bLast
명령줄의 마지막 매개 변수 또는 플래그인지 여부를 나타냅니다.

설명

CWinApp::ParseCommandLine 는 명령줄의 각 매개 변수 또는 플래그에 대해 한 번 호출 ParseParam 하여 인수를 전달합니다 pszParam. 매개 변수의 첫 번째 문자가 a 또는 a - 이면 해당 문자가 제거되고 bFlag //>로 TRUE설정됩니다. 최종 매개 변수 bLast 를 구문 분석할 때는 .로 TRUE설정됩니다.

이 함수의 기본 구현은 다음 표와 같이 다음과 같은 플래그/p/dde/pt/Automation/Embedding인식합니다.

명령줄 인수 명령 실행됨
app 새 파일입니다.
파일 이름 파일을 엽니다.
/p 파일 이름 파일을 기본 프린터로 인쇄합니다.
/pt 파일 이름 프린터 드라이버 포트 지정된 프린터에 파일을 인쇄합니다.
/dde DDE 명령을 시작하고 대기합니다.
/Automation OLE 자동화 서버로 시작합니다.
/Embedding 포함된 OLE 항목을 편집하기 시작합니다.
/Register

/Regserver
등록 작업을 수행하도록 애플리케이션에 알릴 수 있습니다.
/Unregister

/Unregserver
등록 취소 작업을 수행하도록 애플리케이션에 알릴 수 있습니다.

이 정보는 , m_bRunEmbeddedm_nShellCommandm_bRunAutomated저장됩니다. 플래그는 슬래시 또는 하이픈-으로 / 표시됩니다.

기본 구현에서는 플래그가 아닌 첫 번째 매개 변수를 m_strFileName. 플래그의 /pt 경우 기본 구현은 각각 두 번째, 세 번째 및 네 번째 비 플래그 매개 변수를 m_strPrinterName, m_strDriverNamem_strPortName에 넣습니다.

또한 기본 구현은 새 파일의 경우에만 설정 m_bShowSplash TRUE 됩니다. 새 파일의 경우 사용자는 애플리케이션 자체와 관련된 작업을 수행했습니다. 셸을 사용하여 기존 파일을 여는 것을 포함하여 다른 모든 경우에서 사용자 작업에는 파일이 직접 포함됩니다. 문서 중심 관점에서 시작 화면은 애플리케이션 시작을 알릴 필요가 없습니다.

파생 클래스에서 이 함수를 재정의하여 다른 플래그 및 매개 변수 값을 처리합니다.

참고 항목

CObject 클래스
계층 구조 차트
CWinApp::ParseCommandLine
CWinApp::ProcessShellCommand