S-JIS[1998-08-14]

起動時の空ウィンドウを無くす方法

AppWizardで作成したMDIのMFCアプリケーションを実行すると、 最初に空の子ウィンドウが開いている状態になります。
これを無くし、アプリケーション起動時に何の子ウィンドウも開いていない状態にする方法を示します。 とっても簡単です。

自分のプロジェクトのCWinAppの派生クラス(ここではCMyAppとします)のInitInstance()関数に、 以下のように1行追加するだけです。

My.cpp:

BOOL CMyApp::InitInstance()
{
〜
	// DDE、file open など標準のシェル コマンドのコマンドラインを解析します。
	CCommandLineInfo cmdInfo;
	ParseCommandLine(cmdInfo);

	cmdInfo.m_nShellCommand=CCommandLineInfo::FileNothing;	//この行を追加するだけ

	// コマンドラインでディスパッチ コマンドを指定します。
	if (!ProcessShellCommand(cmdInfo))
		return FALSE;
〜
}

ちなみにSDIのMFCアプリケーションに対して同じ様にやろうとすると、 アプリケーションが起動しなくなるので注意!


VC++ページへ戻る / 技術メモへ戻る
メールの送信先:ひしだま