我調用批處理腳本通過cmd.exe /C
與Boost.process
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