system () e CreateProcess () / CreateProcessW ()
Eu quero executar um TEST.exe em um programa C. Enquanto eu uso
system( "TEST.exe <input-file> output-file" );
Consigo o que esperava.
Mas CreateProcessW () não funcionou corretamente quando eu uso o código a seguir (consulteComo executo um programa externo?):
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();
}
Ond
FullPathToExe="TEST.exe", pwszParam="TEST.exe <input-file> output-file".
E WaitForSingleObject () retorna 258, GetLastError () retorna 1813 ("O tipo de recurso especificado não pode ser encontrado no arquivo de imagem.").
Além disso, o código CreateProcessW () acima funciona bem quando executo o meu próprio HelloProcess.exe (imprimo Olá e durmo alguns segundos determinados pelo número a seguir, e saio.) Com
FullPathToExe="HelloProcess.exe", pwszParam="HelloProcess.exe 10".
Alguma ideia? Obrigado por qualquer dica!