在 MFC(Microsoft Foundation Classes)中,CCommandLineInfo 类用于处理命令行参数。其中的 CCommandLineInfo::m_bRunEmbedded 是一个公共数据成员,用于指示应用程序是否在嵌入式(embedded)模式下运行。

嵌入式模式通常指的是应用程序作为对象被嵌入到另一个宿主应用程序中运行。这在一些复合应用程序的情境下很常见,例如,一个文档编辑器应用程序可能以嵌入式模式运行在一个包含多个文档编辑器的宿主应用程序中。

如果 CCommandLineInfo::m_bRunEmbedded 的值为 TRUE,则表示应用程序正在嵌入式模式下运行。在这种情况下,你可能需要采取特定的操作或设置以适应嵌入式模式的需求。

以下是一个简单的示例代码,演示了如何使用 CCommandLineInfo::m_bRunEmbedded:
#include "stdafx.h"
#include "YourApp.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#endif

// CYourAppApp

BEGIN_MESSAGE_MAP(CYourAppApp, CWinApp)
    ON_COMMAND(ID_HELP, &CWinApp::OnHelp)
END_MESSAGE_MAP()

CYourAppApp::CYourAppApp()
{
    // TODO: 在此处添加构造代码,
    // 将所有重要的初始化放置在 InitInstance 中
}

// 唯一的 CYourAppApp 对象

CYourAppApp theApp;

// CYourAppApp 初始化

BOOL CYourAppApp::InitInstance()
{
    // 标准初始化
    // 如果一个控件不支持此功能,则返回 FALSE
    AfxEnableControlContainer();

    // 解析标准 shell 命令行
    CCommandLineInfo cmdInfo;
    ParseCommandLine(cmdInfo);

    // 检查是否在嵌入式模式下运行
    if (cmdInfo.m_bRunEmbedded)
    {
        // 在嵌入式模式下的特定操作
        // TODO: 添加你的嵌入式模式代码
    }
    else
    {
        // 非嵌入式模式下的正常操作
        // TODO: 添加你的正常代码
    }

    return TRUE;
}

这只是一个简单的示例,实际上你可能需要根据你的应用程序的特定需求进行更详细和复杂的处理。


转载请注明出处:http://www.pingtaimeng.com/article/detail/16042/MFC/CCommandLineInfo