AppWizard 使ってダイアログベースのアプリケーションを作成して、
App クラスの InitInstance() でやりたい事やって、FALSE で
抜ければいいんじゃん?
コマンドラインとGUIの両方から実行できるツールで、引数やらの
実行環境が正しい時のみ実行し、そうでない時はダイアログを
表示して…なんてやりたい時に、よくやる手だが。

A.exe が作成するプログラムだったら、こんな感じに

BOOL A::InitInstance()
{
   AfxEnableControlContainer();
…
   #ifdef _AFXDLL
      Enable3dControls();
   #else
      Enable3dControlsStatic();
   #endif

   { ←ここから
      // do whatever you want like if (2 == _argc) {
      // or CString csStrTmp(__argv[1]);
      …
      return FALSE;
   }←ここまで

   CWADlg dlg;
   m_pMainWnd = &dlg;
…
}