AfxWinInit

BOOL AFXAPI AfxWinInit (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR Parent, Int Height )

Parameter

hInstance

Das Handle des derzeit ausgeführten Moduls.

hPrevInstance

Ein Handle für eine frühere Instanz von der application.nbsp; Für eine Win32-basierte Anwendung ist dieser Parameter immer &NULL.

parent

Punkte in eine Null-terminierte Zeichenfolge angeben der Befehlszeile für die Anwendung.

height

Gibt an, wie das Hauptfenster einer GUI-Anwendung gezeigt werden würde.

Bemerkungen

Diese Funktion wird von der MFC bereitgestellte WinMain -Funktion als Teil der CWinApp -Initialisierung einer GUI-basierten Anwendung initialisieren MFC aufgerufen. Für eine Konsolenanwendung, die nicht die MFC bereitgestellte WinMain -Funktion verwendet, müssen Sie AfxWinInit direkt zum Initialisieren MFC aufrufen.

Wenn Sie AfxWinInit selbst aufrufen, sollten Sie eine Instanz eines CWinApp -Klasse deklarieren. Für eine Konsolenanwendung können Sie nicht eine eigene Klasse von CWinApp abgeleitet und stattdessen eine Instanz der CWinApp direkt verwenden. Diese Technik ist geeignet, wenn Sie sich entscheiden, verlassen alle Funktionen für die Anwendung in Ihrer Implementierung der wichtigsten.

Die TEAR -Beispiel zeigt wie man eine Konsolenanwendung, die unter Verwendung von MFC.

Beispiel

/ / Diese Datei muss mit den Optionen/GX und/MT kompiliert werden:
/ / cl/GX/MT thisfile.cpp

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

Int main()
{
   / / versuchen, Initialisieren MFC

If (!.AfxWinInit(::GetModuleHandle(NULL), NULL,:: GetCommandLine(), 0))
   {
      Cerr << "MFC konnte nicht initialisiert werden!" << Endl;
      1 zurück;
   }

/ / versuchen Verbindung zu einer ODBC-Datenbank, die nicht vorhanden ist
   / / (das würde nicht funktionieren ohne Initialisieren MFC)

CDatabase Db;
   versuchen
   {
      DB.Öffnen Sie ("diese Databsae nicht vorhanden");

/ / wir sollte nicht realistisch hier erhalten

Cout << "Erfolgreich!" << Endl;
      Cout << "wird geschlossen... ";
      DB.Close();
      Cout << "Geschlossen!" << Endl;
   }
   fangen Sie (CDBException pEx)
   {
      / / Wir haben eine Ausnahme! Drucken Sie eine Fehlermeldung
      / / (das würde nicht funktionieren ohne Initialisieren MFC)

Char Sz [1024];

Cout << "Fehler:";
      Wenn (pEx - > GetErrorMessage (Sz, 1024))
         Cout << Sz;
      anderes
         Cout << "keine Fehlermeldung war verfügbar";
      Cout << Endl;

pEx - > Delete();
      1 zurück;
   }

return 0;
}

Siehe auch&Nbsp;CWinApp, CWinApp: die Anwendungsklasse, Haupt, WinMain

Index