Cさん C++さん

#include <windows.h>

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
  // 起動するファイルを指定する
  LPCTSTR exeFile[] = { TEXT("example1.exe"),
                        TEXT("example2.exe"),
                        NULL };  // 終端文字ね♪

  // Note:
  MessageBox(NULL,TEXT("アプリを起動して終了するまで待つよ"),TEXT("TEST"),MB_TOPMOST|MB_ICONWARNING|MB_OK);

  PROCESS_INFORMATION Procinfo;
  ZeroMemory(&Procinfo, sizeof(Procinfo));

  STARTUPINFO stinfo;
  ZeroMemory(&stinfo, sizeof(stinfo));

  // 起動プロセスの条件をSTARTUPINFOメンバに設定
  stinfo.cb = sizeof(stinfo);
  stinfo.dwFlags = STARTF_FORCEOFFFEEDBACK;  // 0 or STARTF_FORCEOFFFEEDBACK

  for(int i = 0; exeFile[i] != NULL; i++)
  {
    if(CreateProcess(NULL, (LPSTR)exeFile[i], NULL, NULL, FALSE, 0, NULL, NULL, &stinfo, &Procinfo) == 0)
      return( false );  // 起動できなかったら終了・・・?
    CloseHandle(Procinfo.hThread);
    WaitForSingleObject(Procinfo.hProcess, INFINITE);  // 終了するまで待つよ
    CloseHandle(Procinfo.hProcess);
    // Note:
    MessageBox(NULL, TEXT("指定ファイルが終了したよ!"), exeFile[i], MB_TOPMOST | MB_ICONWARNING | MB_OK);
  }

  return( true );
}

VC++2005とかVC++2008とかでビルドすると(W文字への変更が必要)、
CreateProcess()で強制終了するんだけど…。
なぜに〜?