BOOL AFXAPI AfxWinInit (wystąpienie HINSTANCE wystąpienie hInstance, wystąpienie HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow )
Parametry
wystąpienie hInstance
Uchwyt aktualnie uruchomione moduł.
hPrevInstance
Uchwyt do poprzed&niego wystąpienia application.nbsp; Dla aplikacji systemu Win32 ten parametr jest zawsze zerowa.
lpCmdLine
Wskazuje ciąg zakończony zerem, określający wiersza polecenia dla aplikacji.
nCmdShow
Określa, jak będą wyświetlane okna głównego aplikacji GUI.
Uwagi
Ta funkcja zostaje wywołana przez funkcję dostarczone MFC WinMain w ramach inicjalizacji CWinApp aplikacji opartej na GUI, zainicjować klas MFC. Dla aplikacji konsoli, który nie używa funkcji dostarczanych MFC WinMain , należy wywołać AfxWinInit bezpośrednio zainicjować klas MFC.
Jeśli wywołasz AfxWinInit sobie, należy zadeklarować instancję klasy CWinApp . Dla aplikacji konsoli można wybrać czerpią swoją własną klasę z CWinApp i zamiast tego użyć instancji CWinApp bezpośrednio. Ta technika jest odpowiedni, jeśli użytkownik chce pozostawić wszystkie funkcje aplikacji w danej implementacji główne.
TEAR próbki pokazuje, jak utworzyć aplikację konsoli przy użyciu MFC.
Przykład
/ / Ten plik musi być skompilowany z opcjami /GX i /MT:
/ / cl /GX /MT thisfile.cpp
# include lt;afx.h >
# include <afxdb.h>
# include <iostream.h>
int main()
{
/ / spróbuj zainicjować klas MFC
if (!.AfxWinInit(::GetModuleHandle(NULL), NULL,:: ciąg, 0))
{
cerr << "MFC nie może zainicjować!" << endl;
zwrócona wartość 1;
}
/ / Spróbuj połączyć się z bazy danych ODBC, który nie istnieje
/ / (to nie działa na wszystkich bez inicjowanie MFC)
CDatabase db;
Spróbuj
{
DB.Otwórz ("to Databsae nie istnieje");
/ / nie możemy realistycznie get here
Cout << "Powodzenie!" << endl;
Cout << "... z zamknięciem ";
DB.Metody Close();
Cout << "Zamknięte!" << endl;
}
połów (CDBException * pEx)
{
/ / Doszliśmy wyjątek! drukowanie komunikat o błędzie
/ / (to nie działa bez inicjowanie MFC)
sz char [1024];
Cout << "Błąd:";
Jeżeli (pEx - > GetErrorMessage (sz, 1024))
Cout << sz;
Else
Cout << "żaden komunikat o błędzie był dostępny";
Cout << endl;
pEx - > Delete();
zwrócona wartość 1;
}
zwrócona wartość 0;
}
Zobacz też CWinApp, CWinApp: aplikacji klasy, głównym, WinMain