我正在调用批处理cmd.exe /C
脚本Boost.process
boost::process::context context;
context.stdout_behavior = boost::process::capture_stream();
#ifdef WIN32
arguments.push_front("/c");
arguments.push_front(_script);
boost::process::child external_process = boost::process::launch("cmd.exe", arguments, context);
#else
boost::process::child external_process = boost::process::launch(_script, arguments, context);
#endif
boost::process::status status_code = external_process.wait();
如果我直接调用批处理文件,即使使用 cmd.exe /C 它也会调用外部可执行文件。
但是当通过我的程序调用批处理脚本时,它根本不会调用外部程序。外部可执行文件生成一些文件。还将一些文本打印到标准输出。我既没有看到那些文本,也没有看到要生成的任何文件。
我什至尝试将目标可执行文件替换为notepad.exe
然后出现一个消息框Application failed to initialize properly (0xc0150004) click on OK to terminate application