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 シェル コマンドが Print To の場合、ドライバー名を示します。それ以外の場合は空です。
CCommandLineInfo::m_strFileName 開くか印刷するファイル名を示します。シェル コマンドが New または DDE の場合は空です。
CCommandLineInfo::m_strPortName シェル コマンドが Print To の場合はポート名を示します。それ以外の場合は空です。
CCommandLineInfo::m_strPrinterName シェル コマンドが Print To の場合はプリンター名を示します。それ以外の場合は空です。
CCommandLineInfo::m_strRestartIdentifier 再起動マネージャーがアプリケーションを再起動した場合の再起動マネージャーの一意の再起動識別子を示します。

解説

MFC アプリケーションは、通常、そのアプリケーション オブジェクトの関数にこのクラスのローカル インスタンスを InitInstance 作成します。 その後、このオブジェクトが渡されCWinApp::ParseCommandLine、オブジェクトを埋CCommandLineInfoめるために繰り返し呼び出ParseParamされます。 CCommandLineInfoその後、コマンド ライン引数とフラグを処理するためにオブジェクトが渡されますCWinApp::ProcessShellCommand

このオブジェクトを使用して、次のコマンド ライン オプションとパラメーターをカプセル化できます。

コマンドライン引数 実行されたコマンド
app 新しいファイル。
アプリファイル ファイルを開きます。
アプリファイル/p ファイルを既定のプリンターに印刷します。
アプリ/pt ファイル名プリンター ドライバー ポート 指定したプリンターにファイルを印刷します。
app/dde DDE コマンドを起動して待機します。
app/Automation OLE オートメーション サーバーとして起動します。
app/Embedding 埋め込み OLE 項目の編集を開始します。
app/Register

app/Regserver
登録タスクを実行するようにアプリケーションに通知します。
app/Unregister

app/Unregserver
登録解除タスクを実行するようにアプリケーションに通知します。

他のフラグとパラメーター値を処理するために、新しいクラス CCommandLineInfo を派生させます。 新しいフラグを処理するためにオーバーライド ParseParam します。

継承階層

CObject

CCommandLineInfo

必要条件

ヘッダー:afxwin.h

CCommandLineInfo::CCommandLineInfo

このコンストラクターは、既定値を CCommandLineInfo 持つオブジェクトを作成します。

CCommandLineInfo();

解説

既定では、スプラッシュ画面 ( m_bShowSplash=TRUE) を表示し、[ファイル] メニュー (=NewFilem_nShellCommand) で [新規] コマンドを実行します。

アプリケーション フレームワークは、このオブジェクトのデータ メンバーを埋めるために呼び出 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は、起動時にこのアプリケーションのスプラッシュ画面が表示されることを意味します。 このデータ メンバーを if に設定するTRUEm_nShellCommand既定のParseParam実装は次のようになりますCCommandLineInfo::FileNew

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 or /Regserver フラグが見つかり、アプリケーションに登録を求められたことを示します。

  • CCommandLineInfo::AppUnregister 登録解除を /Unregister 要求されたアプリケーションを /Unregserver 示します。

  • CCommandLineInfo::RestartByRestartManager アプリケーションが再起動マネージャーによって再起動されたことを示します。

  • CCommandLineInfo::FileNothing 起動時に新しい MDI 子ウィンドウの表示をオフにします。 設計上、アプリケーション ウィザードによって生成された MDI アプリケーションでは、起動時に新しい子ウィンドウが表示されます。 この機能をオフにするには、アプリケーションが呼び出ProcessShellCommandすときにシェル コマンドとして使用CCommandLineInfo::FileNothingできます。 ProcessShellCommand は、 InitInstance( ) すべての CWinApp 派生クラスによって呼び出されます。

// 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

3 番目のフラグ以外のパラメーターの値をコマンド ラインに格納します。

CString m_strDriverName;

解説

このパラメーターは通常、Print To シェル コマンドのプリンター ドライバーの名前です。 このデータ メンバーの既定の ParseParam 実装は、コマンド ラインでフラグが見つかった場合 /pt にのみ設定されます。

CCommandLineInfo::m_strFileName

最初のフラグ以外のパラメーターの値をコマンド ラインに格納します。

CString m_strFileName;

解説

通常、このパラメーターは開くファイルの名前です。

CCommandLineInfo::m_strPortName

4 番目のフラグ以外のパラメーターの値をコマンド ラインに格納します。

CString m_strPortName;

解説

このパラメーターは、通常、Print To シェル コマンドのプリンター ポートの名前です。 このデータ メンバーの既定の ParseParam 実装は、コマンド ラインでフラグが見つかった場合 /pt にのみ設定されます。

CCommandLineInfo::m_strPrinterName

2 番目のフラグ以外のパラメーターの値をコマンド ラインに格納します。

CString m_strPrinterName;

解説

このパラメーターは、通常、Print To シェル コマンドのプリンターの名前です。 このデータ メンバーの既定の ParseParam 実装は、コマンド ラインでフラグが見つかった場合 /pt にのみ設定されます。

CCommandLineInfo::m_strRestartIdentifier

コマンド ラインの一意の再起動識別子。

CString m_strRestartIdentifier;

解説

再起動識別子は、アプリケーションのインスタンスごとに一意です。

再起動マネージャーがアプリケーションを終了し、アプリケーションを再起動するように構成されている場合、再起動マネージャーは、オプションのパラメーターとして再起動識別子を使用してコマンド ラインからアプリケーションを実行します。 再起動マネージャーが再起動識別子を使用する場合、アプリケーションは以前に開いているドキュメントを再度開き、自動保存されたファイルを回復できます。

CCommandLineInfo::ParseParam

フレームワークはこの関数を呼び出して、コマンド ラインから個々のパラメーターを解析/解釈します。 2 番目のバージョンは、Unicode プロジェクトの最初のバージョンとは異なります。

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 コマンド ラインでパラメーターまたはフラグごとに 1 回呼び出 ParseParam し、引数 pszParamを渡します。 パラメーターの最初の文字が a または a -/の場合、その文字は削除されbFlag、 .TRUE 最後のパラメーターを解析する場合は、 bLast 次に TRUE設定します。

この関数の既定の実装では、/p/pt次の表に示すように、次のフラグ 、、/dde/Automation/Embeddingを認識します。

コマンドライン引数 実行されたコマンド
app 新しいファイル。
アプリファイル ファイルを開きます。
アプリファイル/p ファイルを既定のプリンターに印刷します。
アプリ/pt ファイル名プリンター ドライバー ポート 指定したプリンターにファイルを印刷します。
app/dde DDE コマンドを起動して待機します。
app/Automation OLE オートメーション サーバーとして起動します。
app/Embedding 埋め込み OLE 項目の編集を開始します。
app/Register

app/Regserver
登録タスクを実行するようにアプリケーションに通知します。
app/Unregister

app/Unregserver
登録解除タスクを実行するようにアプリケーションに通知します。

この情報は 、m_bRunAutomatedm_bRunEmbedded、および m_nShellCommand. フラグはスラッシュまたはハイフン-/マークされます。

既定の実装では、最初の非フラグ パラメーターが .m_strFileName フラグの場合、既定の /pt 実装では、2 番目、3 番目、および 4 番目のフラグ以外のパラメーター m_strPrinterNameがそれぞれ 、 m_strDriverNameおよび m_strPortName、に配置されます。

また、既定の実装は、新しいファイルの場合にのみ設定m_bShowSplashTRUEされます。 新しいファイルの場合、ユーザーはアプリケーション自体に関連するアクションを実行しました。 シェルを使用して既存のファイルを開くなど、その他の場合、ユーザーアクションにはファイルが直接含まれます。 ドキュメント中心の観点では、スプラッシュ画面でアプリケーションの起動を読み上げる必要はありません。

他のフラグとパラメーター値を処理するには、派生クラスでこの関数をオーバーライドします。

関連項目

CObject クラス
階層図
CWinApp::ParseCommandLine
CWinApp::ProcessShellCommand