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!

questionAnswers(6)

yourAnswerToTheQuestion