CWinApp:应用程序类

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

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

注释

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

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

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

注释

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

另请参阅

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