Changed: Updated launchProgramAndWaitForResult to support .bat files

This commit is contained in:
kervala 2016-02-03 21:58:29 +01:00
parent 62153a10a2
commit b21ebd149b

View file

@ -878,8 +878,22 @@ sint launchProgramAndWaitForResult(const std::string &programName, const std::st
SetEnvironmentVariable( SE_TRANSLATOR_IN_MAIN_MODULE, NULL ); SetEnvironmentVariable( SE_TRANSLATOR_IN_MAIN_MODULE, NULL );
} }
string arg = " " + arguments; const char *sProgramName = programName.c_str();
BOOL ok = CreateProcessA(programName.c_str(), (char*)arg.c_str(), NULL, NULL, FALSE, CREATE_DEFAULT_ERROR_MODE | CREATE_NO_WINDOW, NULL, NULL, &si, &pi);
std::string args;
// a .bat file must have first parameter to NULL and use 2nd parameter to pass filename
if (CFile::getExtension(programName) == "bat")
{
sProgramName = NULL;
args = "\"" + programName + "\" " + arguments;
}
else
{
args = arguments;
}
BOOL ok = CreateProcessA(sProgramName, (char*)args.c_str(), NULL, NULL, FALSE, CREATE_DEFAULT_ERROR_MODE | CREATE_NO_WINDOW, NULL, NULL, &si, &pi);
if (ok) if (ok)
{ {