AfxWinInit

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

Index