AfxWinInit

BOOL AFXAPI AfxWinInit (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow

パラメーター

hInstance

現在実行中のモジュールのハンドル。

hPrevInstance

Application.nbsp の以前のインスタンスへのハンドル。Win32 ベースのアプリケーションでは、このパラメーターは常にNULLです。(&N)。

lpCmdLine

アプリケーションのコマンドラインを指定する null で終わる文字列へのポインター。

nCmdShow

GUI アプリケーションのメイン ウィンドウを表示する方法を指定します。

解説

この関数は、MFC を初期化するには、GUI ベースのアプリケーションのCWinApp初期化の一部として、MFC 提供WinMain関数によって呼び出されます。MFC 提供WinMain関数を使用しない、コンソール アプリケーションに対して直接 MFC を初期化するには、 AfxWinInitを呼び出す必要があります。

AfxWinInitを自分で呼び出すには、 CWinAppクラスのインスタンスを宣言する必要があります。コンソール アプリケーションでは、 CWinAppから独自のクラスを派生し、代わりに、 CWinAppのインスタンスを直接使用することもできます。このテクニックはすべての機能をアプリケーションのメインの実装のままする場合に適しています。

サンプル MFC を使用してコンソール アプリケーションを作成する方法を示しています。

//このファイルは、/GX と/MT オプションをコンパイルする必要があります。//cl/GX まで thisfile.cpp#include lt;afx.h >#include <afxdb.h>#include <iostream.h>int main(){//MFC を初期化しようとしました。if (!。AfxWinInit(::GetModuleHandle(NULL)、NULL、:: GetCommandLine()、0)){cerr <<「MFC の初期化に失敗しました !「<< endl;1 を返す;}//が存在しない、ODBC データベースに接続しようとしました。・ ・ (これで MFC の初期化せず動作しない)CDatabase db;してください。{db。(「このデータベース存在しない」) を開く;//私たち現実的にここを取得しないでくださいcout <<」成功 !「<< endl;cout <<」... 終了";db。Close();cout <<」終了 !「<< endl;}catch (CDBException ※ pEx){//私たちは例外だ !エラー メッセージを印刷します。・ ・ (この MFC の初期化せず動作しない)char sz [1024];cout <<「エラー:」;場合 (pEx - > GetErrorMessage (スワジランド、1024年))cout << sz;他cout <<」エラー メッセージ提供されていませんでした";cout << endl;pEx - > Delete();1 を返す;}0 を返します。}

参照特価;CWinApp CWinApp: アプリケーション クラス メイン WinMain(&N)

Index