でバッチスクリプトを呼び出してい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を使用してもバッチファイルを直接呼び出すと、外部実行可能ファイルが呼び出されます。
しかし、バッチスクリプトが私のプログラムを介して呼び出された場合、外部プログラムはまったく呼び出されません。外部実行可能ファイルはいくつかのファイルを生成します。また、いくつかのテキストをstdoutに出力します。これらのテキストも、生成されるファイルも表示されません。
ターゲットの実行可能ファイルを次のように置き換えようとしましたがnotepad.exe
、メッセージボックスが表示されますApplication failed to initialize properly (0xc0150004) click on OK to terminate application