AfxWinInit

Essa função é chamada pelo fornecido pelo MFC WinMain função, sistema autônomo parte do CWinApp inicialização de um aplicativo baseado em GUI, inicializar MFC.

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

Parâmetros

  • hInstance
    O identificador do módulo em execução no momento.

  • hPrevInstance
    Um identificador para uma instância anterior do aplicativo.Este parâmetro para um aplicativo Win32, sempre é NULO.

  • lpCmdLine
    Aponta para uma cadeia terminada com nulo que especifica a linha de comando para o aplicativo.

  • nCmdShow
    Especifica como seria exibida na janela principal de uma aplicação de GUI.

Comentários

Para um aplicativo de console, que não usa o fornecido pelo MFC WinMain função, você deve telefonar AfxWinInit diretamente para inicializar MFC.

If you telefonar AfxWinInit Você mesmo, você deve declarar uma instância de um CWinApp classe. Para um aplicativo de console, você pode optar por não derivar sua própria classe de CWinApp e, em vez disso, usar uma instância de CWinApp diretamente. Essa técnica é apropriada se você decidir deixar toda a funcionalidade do aplicativo em sua implementação de principal.

Observação:

Quando cria um contexto de ativação para um assembly, o MFC usa um recurso de manifesto fornecido pelo módulo de usuário.O contexto de ativação é criado no AfxWinInit.Para obter mais informações, consulte Suporte para contextos de ativação no estado do módulo de MFC.

Exemplo

#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

Cabeçalho: afxwin.h

Consulte também

Conceitos

Macros do MFC e globais

CWinApp: A Classe do aplicativo

Referência

Classes CWinApp

main: Programa Inicialização

WinMain