Я хочу выполнить TEST.exe в программе C. Пока я использую
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".
Любые идеи? Спасибо за любые подсказки!
<input-file> output-file
. Символы<>
являются префиксами, но интервал OP подразумевает, что это круглые скобки. Интервал, который не вводит в заблуждение:<output-file >input-file
. - person 7vujy0f0hy   schedule 02.04.2017