CWinApp:应用程序类

MFC 中的主应用程序类封装 Windows作系统应用程序的初始化、运行和终止。 基于框架构建的应用程序必须具有一个且只有一个派生自 CWinApp 的类的对象。 此对象是在创建窗口之前构造的。

CWinApp 派生自 CWinThread,表示应用程序的执行主线程,该线程可能具有一个或多个线程。 在最新版本的 MFC 中,InitInstance“运行ExitInstance”和OnIdle“成员”函数实际上在类CWinThread中。 此处将讨论这些函数,就像它们是 CWinApp 成员一样,因为讨论涉及对象作为应用程序对象而不是主线程的角色。

注释

应用程序类构成了应用程序执行的主要线程。 使用 Win32 API 函数,还可以创建执行辅助线程。 这些线程可以使用 MFC 库。 有关详细信息,请参阅 多线程处理

与 Windows作系统的任何程序一样,框架应用程序具有一个 WinMain 函数。 但是,在框架应用程序中,不编写 WinMain。 它由类库提供,并在应用程序启动时调用。 WinMain 执行标准服务,例如注册窗口类。 然后,它调用应用程序对象的成员函数来初始化和运行应用程序。 (可以通过重写CWinApp调用的成员函数WinMain进行自定义WinMain

若要初始化应用程序, WinMain 请调用应用程序对象的 InitApplication 函数和 InitInstance 成员函数。 若要运行应用程序的消息循环, WinMain 请调用 Run 成员函数。 终止时, WinMain 调用应用程序对象 ExitInstance 的成员函数。

注释

本文档中 粗体 显示的名称指示由 Microsoft 基础类库和 Visual C++提供的元素。 类型中显示的 monospaced 名称指示你创建或重写的元素。

另请参阅

常规 MFC 主题
CWinApp 和 MFC 应用程序向导
可重写的 CWinApp 成员函数
特殊 CWinApp 服务