AfxWinInit

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

Параметры

hInstance

Дескриптор текущего выполняемого модуля.

hPrevInstance

Дескриптор для предыдущего экземпляра application.nbsp; Для Win32-приложения этот параметр всегда имеет значение &NULL.

lpCmdLine

Указывает на ограниченную значением null строку, указав в командной строке для приложения.

nCmdShow

Определяет, как будет показано главное окно программы с Графическим интерфейсом.

Примечания

Эта функция вызывается поставляется MFC WinMain функцией в рамках CWinApp инициализации GUI-приложения на базе, для инициализации MFC. Для консольного приложения, которое не использует предоставленный MFC WinMain функцией, необходимо вызвать AfxWinInit непосредственно для инициализации MFC.

Если вы AfxWinInit себя, следует объявить экземпляр класса CWinApp . Для консольного приложения вы можете не свой собственный класс, производный от CWinApp и вместо этого использовать экземпляр класса CWinApp напрямую. Этот способ подходит, если вы решите оставить всю функциональность для вашего приложения в вашей реализации основных.

СЛЕЗОТОЧИВЫЙ образец показывает, как сделать консольное приложение с помощью MFC.

Пример

/ / Этот файл должен скомпилирован с параметрами /GX и/MT:
/ / cl /GX thisfile.cpp/MT

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

int main()
{
   / / Попробуйте инициализировать MFC

Если (!.AfxWinInit(::GetModuleHandle(NULL), NULL,:: GetCommandLine(), 0))
   {
      cerr << «MFC не удалось инициализировать!» << endl;
      возвращение 1;
   }

/ / подключиться к базе данных ODBC, которая не существует
   / / (это не будет работать вообще без инициализации MFC)

CDatabase дБ;
   Попробуйте
   {
      DB.Открыть («этот Databsae не существует");

/ / Мы не должны получить реально здесь

Cout << «Успешно!» << endl;
      Cout << "закрытие... ";
      DB.Close();
      Cout << «Закрыт!» << endl;
   }
   улов (CDBException * ПЭС)
   {
      / / Мы получили исключение! печатать сообщение об ошибке
      / / (это не будет работать без инициализации MFC)

sz char [1024];

Cout << "ошибка:";
      Если (pEx - > GetErrorMessage (sz, 1024))
         Cout << sz;
      остальное
         Cout << «сообщение об ошибке не имеется»;
      Cout << endl;

pEx - > Delete();
      возвращение 1;
   }

Возвращает 0;
}

См. также CWinApp, CWinApp: класс Application, основными, WinMain

Index