C ++运行批处理文件而不重定向输出

时间:2015-07-22 10:12:26

标签: c++ batch-file createprocess

InetAddress address = InetAddress.getByName("hp-PC.local");
System.out.println(address.getHostAddress());

我从另一个进程中通过dll启动批处理脚本。 问题是该过程正在显示:

  

错误:不支持输入重定向,退出进程   立即

如何启动批处理脚本以使其独立于调用进程(在被调用者关闭时不会关闭)并且不在调用进程的控制台中输出?

2 个答案:

答案 0 :(得分:1)

如果您不想在执行命令字符串时显示控制台窗口,则可以执行以下操作:

tempString = (string(" /C \"") + tempString + "\"");
ShellExecute(NULL, NULL, "cmd.exe", tempString.c_str(), NULL, SW_HIDE);

答案 1 :(得分:0)

CREATE_NEW_CONSOLE标志为进程分配一个新控制台,以便它不使用与调用进程相同的标准输出。