BOOL AFXAPI AfxWinInit (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow )
Paramètres
hInstance
Le handle du module en cours d'exécution.
hPrevInstance
Un handle vers une instance précédente de l'application.nbsp ; Pour une application Win32, ce paramètre est toujours &NULL.
lpCmdLine
Vers une chaîne terminée par null spécifie la ligne de commande pour l'application.
nCmdShow
Spécifie comment la fenêtre principale d'une application GUI serait montrée.
Remarques
Cette fonction est appelée par la fonction MFC fournis WinMain , dans le cadre de l'initialisation de CWinApp d'une application GUI, d'initialiser les MFC. Pour une application console qui n'utilise pas la fonction MFC fournis WinMain , vous devez appeler AfxWinInit directement pour initialiser des MFC.
Si vous appelez AfxWinInit vous-même, vous devez déclarer une instance d'une classe CWinApp . Pour une application console, vous pouvez choisir pas à dériver votre propre classe de CWinApp et utiliser directement une instance de CWinApp . Cette technique est appropriée si vous décidez de laisser toutes les fonctionnalités de votre application dans votre mise en œuvre des principaux.
La TEAR exemple montre comment créer une application console à l'aide de MFC.
Exemple
/ / Ce fichier doit être compilé avec les options /GX. et/TM :
/ / cl /GX./TM thisfile.cpp
# include lt;afx.h >
# include <afxdb.h>
# include <iostream.h>
int main()
{
/ / try initialiser des MFC
if (!.AfxWinInit(::GetModuleHandle(NULL), NULL,:: GetCommandLine(), 0))
{
CERR << « MFC impossible d'initialiser »! << endl ;
retour 1 ;
}
/ / Essayez de vous connecter à une base de données ODBC qui n'existe pas
/ / (ce ne serait pas travailler du tout sans initialiser MFC)
CDatabase db ;
Essayez
{
DB.Ouvrir (« cette Database n'existe") ;
/ / Nous ne devrions pas réaliste get ici
COUT << « Successful! » << endl ;
COUT << "fermeture... ";
DB.Close() ;
COUT << « Fermé »! << endl ;
}
catch (exception CDBException * pEx)
{
/ / Nous avons une exception ! imprimer un message d'erreur
/ / (cela marcherait sans initialiser MFC)
char sz [1024] ;
COUT << "erreur:" ;
Si (pEx - > GetErrorMessage (sz, 1024))
COUT << sz ;
autre
COUT << « aucun message d'erreur n'était disponible; »
COUT << endl ;
pEx - > Delete() ;
retour 1 ;
}
return 0 ;
}
Voir aussi  ;CWinApp, CWinApp : la classe d'Application, principal, WinMain