C プログラムで TEST.exe を実行したいと考えています。使っているうちに
system( "TEST.exe <input-file> output-file" );
私は期待したものを得ることができます。
しかし、次のコードを使用すると、CreateProcessW() が正しく機能しませんでした (外部プログラムを実行するにはどうすればよいですか? を参照してください)。
if (CreateProcessW(const_cast<LPCWSTR>(FullPathToExe.c_str()),
pwszParam, 0, 0, false,
CREATE_DEFAULT_ERROR_MODE, 0, 0,
&siStartupInfo, &piProcessInfo) != false)
{
/* Watch the process. */
dwExitCode = WaitForSingleObject(piProcessInfo.hProcess, (SecondsToWait * 1000));
iReturnVal = GetLastError();
}
else
{
/* CreateProcess failed */
iReturnVal = GetLastError();
}
どこ
FullPathToExe="TEST.exe", pwszParam="TEST.exe <input-file> output-file".
また、WaitForSingleObject() は 258 を返し、GetLastError() は 1813 を返します (「指定されたリソース タイプが画像ファイルに見つかりません。」)。
また、上記の CreateProcessW() コードは、独自の HelloProcess.exe を実行すると正常に動作します (こんにちはを出力し、次の数値で決定される数秒間スリープしてから終了します)。
FullPathToExe="HelloProcess.exe", pwszParam="HelloProcess.exe 10".
何か案は?ヒントをありがとう!