InitInstance メンバ関数
更新 : 2007 年 11 月
Windows オペレーティング システムでは、同じアプリケーションの複数のコピー、つまり "インスタンス" を実行できます。WinMain は、アプリケーションの新しいインスタンスが起動されるたびに、InitInstance を呼び出します。
MFC アプリケーション ウィザードが作成する InitInstance の標準実装では、以下の操作を行います。
基本となる動作は、ドキュメント テンプレートの作成です。このテンプレートから、ドキュメント、ビュー、フレーム ウィンドウが作成されます。この過程の詳細については、「ドキュメント テンプレートの作成」を参照してください。
.ini ファイルまたは Windows のレジストリ情報から標準のファイル オプション (最近使ったファイルの名前など) を読み込みます。
1 つ以上のドキュメント テンプレートを登録します。
MDI アプリケーションの場合は、メイン フレーム ウィンドウを作成します。
コマンド ラインを解析して、コマンド ラインで指定されたドキュメントを開くか、新しい空のドキュメントを開きます。
独自の初期化コードを追加することも、ウィザードの書いたコードを変更して使用することもできます。
![]() |
---|
MFC アプリケーションは、シングル スレッド アパートメント (STA: Single-Threaded Apartment) として初期化する必要があります。InitInstance のオーバーライドで CoInitializeEx を呼び出す場合、COINIT_MULTITHREADED ではなく COINIT_APARTMENTTHREADED を指定してください。詳細については、「PRB: MFC アプリケーションは、マルチスレッド区画としてアプリケーションを初期化する場合、応答を停止します。」 (828643) を参照してください。 |