はじめて利用させていただきます。
バッチファイルを実行し、終了待ちしたいのですが
なかなかうまくいきません。
もしお分かりになる方いましたら助けてください。。。
環境は、
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);
バッチファイルの最後にファイルを吐かせるとかはだめですか?
編集 削除下記のようにしては駄目でしょうか?
if (::CreateProcess (NULL, "C:\\TEMP\\DATEJECT.BAT", NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi))
::WaitForSingleObject (pi.hProcess, INFINITE) ;