AfxWinInit

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

Parámetros

hInstance

El identificador del módulo que se está ejecutando.

hPrevInstance

Un identificador de una instancia previa de la application.nbsp; Para una aplicación de Win32, este parámetro es siempre &NULL.

lpCmdLine

Puntos a una cadena terminada en nulo que especifica la línea de comandos para la aplicación.

nCmdShow

Especifica cómo se le muestra la ventana principal de una aplicación GUI.

Observaciones

Esta función llama a la función suministrada por MFC WinMain , como parte de la inicialización de CWinApp de una aplicación basada en GUI, inicializar MFC. Para una aplicación de consola, que no se utilice la función suministrada por MFC WinMain , debe llamar a AfxWinInit directamente al inicializar MFC.

Si llama a AfxWinInit usted mismo, debe declarar una instancia de una clase CWinApp . Una aplicación de consola, puede optar para no derivar su propia clase CWinApp y en su lugar, utilice una instancia de CWinApp directamente. Esta técnica es adecuada si decide dejar toda la funcionalidad de la aplicación en su implementación de principal.

El TEAR muestra cómo hacer que una aplicación de consola mediante MFC.

Ejemplo

/ / Este archivo debe ser compilado con las opciones /GX y /MT:
/ / cl /GX /MT thisfile.cpp

# include lt;afx.h >
# include <afxdb.h>
# include <iostream.h>

int main()
{
   / / intenta inicializar MFC

if (!.AfxWinInit(::GetModuleHandle(NULL), NULL,:: GetCommandLine(), 0))
   {
      cerr << "MFC error al inicializar!" << endl;
      devolver 1;
   }

/ / Intente conectarse a una base de datos ODBC que no existe
   / / (esto no funciona en absoluto sin inicializar MFC)

CDatabase db;
   Intente
   {
      DB.Abrir ("este Databsae no existe");

/ / realista no llegará aquí

Cout << "Exitoso!" << endl;
      Cout << "cierre... ";
      DB.Close();
      Cout << "Cerrado"! << endl;
   }
   catch (CDBException * pEx)
   {
      / / Tenemos una excepción! imprimir un mensaje de error
      / / (esto no funciona sin inicializar MFC)

Char sz [1024];

Cout << "Error:";
      Si (pEx - > GetErrorMessage (sz, 1024))
         Cout << sz;
      otra cosa
         Cout << "ningún mensaje de error estaba disponible";
      Cout << endl;

pEx - > Delete();
      devolver 1;
   }

devuelven 0;
}

Vea tambié&nnbsp;CWinApp, CWinApp: la clase de aplicación, principal, WinMain

Index