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
의합니다.
상속 계층 구조
CCommandLineInfo
요구 사항
머리글: afxwin.h
CCommandLineInfo::CCommandLineInfo
이 생성자는 기본값을 사용하여 개체를 CCommandLineInfo
만듭니다.
CCommandLineInfo();
설명
기본값은 시작 화면()을 표시하고 파일 메뉴(m_bShowSplash=TRUE
m_nShellCommand
=NewFile
)에서 새 명령을 실행하는 것입니다.
애플리케이션 프레임워크는 이 개체의 데이터 멤버를 채우기 위해 호출 ParseParam
합니다.
예시
CCommandLineInfo cmdInfo;
ParseCommandLine(cmdInfo);
CCommandLineInfo::m_bRunAutomated
명령줄에서 /Automation
플래그가 발견되었음을 나타냅니다.
BOOL m_bRunAutomated;
설명
이 경우 TRUE
OLE 자동화 서버로 시작하는 것을 의미합니다.
CCommandLineInfo::m_bRunEmbedded
명령줄에서 /Embedding
플래그가 발견되었음을 나타냅니다.
BOOL m_bRunEmbedded;
설명
이 경우 TRUE
포함된 OLE 항목을 편집하기 시작합니다.
CCommandLineInfo::m_bShowSplash
시작 화면이 표시되어야 임을 나타냅니다.
BOOL m_bShowSplash;
설명
이 경우 TRUE
시작 중에 이 애플리케이션의 시작 화면이 표시되어야 합니다. 이 데이터 멤버를 ParseParam
같CCommandLineInfo::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_bRunEmbedded
및 m_nShellCommand
에 m_bRunAutomated
저장됩니다. 플래그는 슬래시 또는 하이픈-
으로 /
표시됩니다.
기본 구현에서는 플래그가 아닌 첫 번째 매개 변수를 m_strFileName
. 플래그의 /pt
경우 기본 구현은 각각 두 번째, 세 번째 및 네 번째 비 플래그 매개 변수를 m_strPrinterName
, m_strDriverName
및 m_strPortName
에 넣습니다.
또한 기본 구현은 새 파일의 경우에만 설정 m_bShowSplash
TRUE
됩니다. 새 파일의 경우 사용자는 애플리케이션 자체와 관련된 작업을 수행했습니다. 셸을 사용하여 기존 파일을 여는 것을 포함하여 다른 모든 경우에서 사용자 작업에는 파일이 직접 포함됩니다. 문서 중심 관점에서 시작 화면은 애플리케이션 시작을 알릴 필요가 없습니다.
파생 클래스에서 이 함수를 재정의하여 다른 플래그 및 매개 변수 값을 처리합니다.
참고 항목
CObject
클래스
계층 구조 차트
CWinApp::ParseCommandLine
CWinApp::ProcessShellCommand