Compartir a través de


AfxWinInit

Esta función se llama por la función MFC- proporcionada de WinMain , como parte de la inicialización de CWinApp de una aplicación GUI- basada, para inicializar MFC.

BOOL AFXAPI AfxWinInit( 
   HINSTANCE hInstance, 
   HINSTANCE hPrevInstance, 
   LPTSTR lpCmdLine, 
   int nCmdShow  
);

Parámetros

  • hInstance
    El identificador de módulo actualmente en ejecución.

  • hPrevInstance
    Identificador de una instancia anterior de la aplicación. Para una aplicación de win32, este parámetro es siempre nulo.

  • lpCmdLine
    Señala una cadena terminada en null que especifica la línea de comandos para la aplicación.

  • nCmdShow
    Especifica cómo la ventana principal de una aplicación de GUI sería mostrada.

Comentarios

Para una aplicación de consola, que no utiliza la función MFC- proporcionada de WinMain , debe llamar a AfxWinInit directamente para inicializar MFC.

Si llama a AfxWinInit personalmente, debe declarar una instancia de una clase de CWinApp . Para una aplicación de consola, puede elegir no derivar dispone de la clase de CWinApp y en su lugar para utilizar una instancia de CWinApp directamente. Esta técnica es adecuada si decide dejar toda la funcionalidad de la aplicación en la implementación de main.

Nota

Cuando crea un contexto de activación para un ensamblado, MFC utiliza un recurso manifiesto proporcionado por el módulo del usuario.El contexto de activación se crea en AfxWinInit.Para obtener más información, vea Compatibilidad con los contextos de activación en el estado del módulo MFC.

Ejemplo

#include <afx.h>
#include <afxdb.h>

int _tmain(int /*argc*/, TCHAR* /*argv[]*/, TCHAR* /*envp[]*/)
{
   int nRetCode = 0;

   // initialize MFC and print and error on failure 
   if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0))
   {
      // TODO: change error code to suit your needs
      _tprintf(_T("Fatal Error: MFC initialization failed\n"));
      nRetCode = 1;
   }
   else
   {
      // try to connect to an ODBC database that doesn't exist 
      // (this wouldn't work at all without initializing MFC)

      CDatabase db;
      try
      {
         db.Open(_T("This Databsae Doesn't Exist"));

         // we shouldn't realistically get here

         _tprintf_s(_T("Successful!\n")
            _T("Closing ...\n"));
         db.Close();
         _tprintf_s(_T("Closed!"));
      }
      catch (CDBException* pEx)
      {
         // we got an exception! print an error message 
         // (this wouldn't work without initializing MFC)

         TCHAR sz[1024];

         _tprintf_s(_T("Error: "));
         if (pEx->GetErrorMessage(sz, 1024))
            _tprintf_s(sz);
         else
            _tprintf_s(_T("No error message was available"));
         _tprintf_s(_T("\n"));

         pEx->Delete();

         nRetCode = 1;
      }
   }

   return nRetCode;
}

Requisitos

Encabezado: afxwin.h

Vea también

Referencia

CWinApp (Clase)

main: inicio de programa

WinMain

Conceptos

Macros y variables globales de MFC

CWinApp: The Application (Clase)