AfxWinInit AFXAPI BOOL (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow )
Parametri
hInstance
L'handle del modulo attualmente in esecuzione.
hPrevInstance
Un handle a una precedente istanza della application.nbsp; Per un'applicazione basata su Win32, questo parametro è sempre &NULL.
lpCmdLine
Punta a una stringa con terminazione null specificando la riga di comando per l'applicazione.
nCmdShow
Specifica come vorrei essere visualizzata la finestra principale di un'applicazione GUI.
Osservazioni
Questa funzione viene chiamata dalla funzione fornita da MFC WinMain , come parte dell'inizializzazione di un'applicazione basata su GUI per inizializzare MFC CWinApp . Per un'applicazione console, che non utilizza la funzione fornita da MFC WinMain , è necessario chiamare AfxWinInit direttamente per inizializzare MFC.
Se si chiama AfxWinInit voi stessi, voi dovrebbe dichiarare un'istanza di una classe CWinApp . Per un'applicazione console, si potrebbe decidere di derivare una classe da CWinApp ed utilizzare direttamente un'istanza di CWinApp . Questa tecnica è appropriata se si decide di lasciare tutte le funzionalità dell'applicazione nell'implementazione del principale.
La TEAR esempio viene illustrato come creare un'applicazione console utilizzando MFC.
Esempio
/ / Questo file deve essere compilato con le opzioni /GX e /MT:
/ / cl /GX /MT thisfile.cpp
# include lt;afx.h >
# include <afxdb.h>
# include <iostream.h>
int main)
{
/ / try inizializzare MFC
if (!.AfxWinInit(::GetModuleHandle(NULL), NULL,:: GetCommandLine(), 0))
{
Cerr << "MFC Impossibile inizializzare!" << endl;
restituire 1;
}
/ / tenta di connettersi a un database ODBC che non esiste
/ / (questo non avrebbe funzionato a tutti senza inizializzare MFC)
Db CDatabase;
provare
{
DB.Aperto ("questa Databsae non esiste");
/ / realisticamente non dovremmo arrivarci
cout << "Successo!" << endl;
cout << "chiusura … ";
DB.Close ();
cout << "Chiuso" << endl;
}
catch (CDBException pEx)
{
/ / abbiamo ottenuto un'eccezione! stampare un messaggio di errore
/ / (questo non avrebbe funzionato senza inizializzare MFC)
sz Char [1024];
cout << "errore:";
Se (pEx - > GetErrorMessage (sz, 1024))
cout << sz;
altro
cout << "alcun messaggio di errore è stato disponibile";
cout << endl;
pEx - > Delete ();
restituire 1;
}
return 0;
}
Vedere a&nchenbsp;CWinApp, CWinApp: la classe Application, principale, WinMain