다음을 통해 공유


AfxWinInit

MFC에서 제공에서 호출 되는이 함수 WinMain 의 일부로 함수는 CWinApp MFC를 초기화 하는 GUI 기반 응용 프로그램을 초기화 합니다.

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

매개 변수

  • hInstance
    현재 실행 중인 모듈의 핸들입니다.

  • hPrevInstance
    이전 응용 프로그램의 인스턴스 핸들입니다.Win32 기반 응용 프로그램의 경우이 매개 변수는 항상입니다 NULL.

  • lpCmdLine
    응용 프로그램에 대 한 명령줄을 지정 하는 null로 끝나는 문자열을 가리킵니다.

  • nCmdShow
    GUI 응용 프로그램의 주 창에는 표시 방법을 지정 합니다.

설명

콘솔 응용 프로그램의 경우에 사용 하지 않습니다 MFC 제공한 WinMain 함수를 호출 해야 AfxWinInit 직접 MFC를 초기화 합니다.

호출 하는 경우 AfxWinInit 의 인스턴스를 선언 해야 자신는 CWinApp 클래스.콘솔 응용 프로그램에 대 한 사용자 고유의 클래스를 파생 하지 선택할 수 있습니다 CWinApp 의 인스턴스를 대신 사용 하 고 CWinApp 직접.이 방법은 응용 프로그램의 모든 기능을 구현에 두려면 결정 한 경우 적절 한입니다 .

[!참고]

어셈블리에 대 한 활성화 컨텍스트를 만들 때 MFC 사용자 모듈에서 제공 하는 매니페스트 리소스를 사용 합니다.활성화 컨텍스트가 만들어집니다 AfxWinInit.자세한 내용은 활성화 컨텍스트를 MFC 모듈 상태에서에 대 한 지원를 참조하십시오.

예제

#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;
}

요구 사항

헤더: afxwin.h

참고 항목

참조

CWinApp 클래스

주: 시작 프로그램

WinMain

개념

MFC 매크로 전역

CWinApp: The Application 클래스