バッチファイルの終了待ちをするには?


たかはこ  2003-10-07 21:34:12  No: 52251  IP: [192.*.*.*]

はじめて利用させていただきます。

バッチファイルを実行し、終了待ちしたいのですが
なかなかうまくいきません。
もしお分かりになる方いましたら助けてください。。。

環境は、
O/S Windows2000Server
VC++6.0
です。 

以下、ソースの抜粋です。
      
memset(&si, 0, sizeof(STARTUPINFO));
memset(&pi, 0, sizeof(PROCESS_INFORMATION));
si.lpTitle = NULL;
si.lpDesktop = NULL;
si.dwFlags = STARTF_USESHOWWINDOW;
si.wShowWindow = SW_SHOWDEFAULT;
si.lpReserved = NULL;
si.lpReserved2 = 0;
si.cb = sizeof(StartInfo);
bResult = CreateProcess("",
    "C:\\TEMP\\DATEJECT.BAT",
    NULL,
    NULL,
    FALSE,
    HIGH_PRIORITY_CLASS + CREATE_NEW_PROCESS_GROUP,
    NULL,
    NULL,
    &si,
    &pi);
if (bResult == 0)
  return FALSE;  // Error Return

WaitForSingleObject(pi.hProcess, INFINITE);
CloseHandle(pi.hProcess);

編集 削除
oxo  2003-10-07 22:22:23  No: 52252  IP: [192.*.*.*]

バッチファイルの最後にファイルを吐かせるとかはだめですか?

編集 削除
さかべぇ〜  2003-10-27 23:02:11  No: 52253  IP: [192.*.*.*]

下記のようにしては駄目でしょうか?

if (::CreateProcess (NULL, "C:\\TEMP\\DATEJECT.BAT", NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi))
    ::WaitForSingleObject (pi.hProcess, INFINITE) ;

編集 削除