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
します。
継承階層
CCommandLineInfo
必要条件
ヘッダー:afxwin.h
CCommandLineInfo::CCommandLineInfo
このコンストラクターは、既定値を CCommandLineInfo
持つオブジェクトを作成します。
CCommandLineInfo();
解説
既定では、スプラッシュ画面 ( m_bShowSplash=TRUE
) を表示し、[ファイル] メニュー (=NewFile
m_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 に設定するTRUE
m_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_bRunAutomated
m_bRunEmbedded
、および m_nShellCommand
. フラグはスラッシュまたはハイフン-
で/
マークされます。
既定の実装では、最初の非フラグ パラメーターが .m_strFileName
フラグの場合、既定の /pt
実装では、2 番目、3 番目、および 4 番目のフラグ以外のパラメーター m_strPrinterName
がそれぞれ 、 m_strDriverName
および m_strPortName
、に配置されます。
また、既定の実装は、新しいファイルの場合にのみ設定m_bShowSplash
TRUE
されます。 新しいファイルの場合、ユーザーはアプリケーション自体に関連するアクションを実行しました。 シェルを使用して既存のファイルを開くなど、その他の場合、ユーザーアクションにはファイルが直接含まれます。 ドキュメント中心の観点では、スプラッシュ画面でアプリケーションの起動を読み上げる必要はありません。
他のフラグとパラメーター値を処理するには、派生クラスでこの関数をオーバーライドします。
関連項目
CObject
クラス
階層図
CWinApp::ParseCommandLine
CWinApp::ProcessShellCommand
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示