Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从C/C+执行批处理文件+;没有控制台窗口吗? < >我用C++程序通过“Cux>系统”(“St/B MyPal.BAT”)< /COD>调用执行批处理文件,其中代码> > /B应该运行批处理文件W/O控制台窗口。但它仍然可见_C++_C_Windows_Batch File_Console - Fatal编程技术网

如何从C/C+执行批处理文件+;没有控制台窗口吗? < >我用C++程序通过“Cux>系统”(“St/B MyPal.BAT”)< /COD>调用执行批处理文件,其中代码> > /B应该运行批处理文件W/O控制台窗口。但它仍然可见

如何从C/C+执行批处理文件+;没有控制台窗口吗? < >我用C++程序通过“Cux>系统”(“St/B MyPal.BAT”)< /COD>调用执行批处理文件,其中代码> > /B应该运行批处理文件W/O控制台窗口。但它仍然可见,c++,c,windows,batch-file,console,C++,C,Windows,Batch File,Console,编辑:我通过ShellExecute()解决了这个问题,正如评论中建议的那样为什么不改用CreateProcess?在Windows上,如果不使用Windows运行时,可以尝试\u popen或\u wpopen: 我之所以使用它,主要是因为\u popen创建了一个管道,这样我也可以轻松地读取输出。或者可能更简单。@user:ShellExecute不允许您传入允许隐藏窗口的STARTUPINFO结构。@Ben Voigt:但是它有nShowCmd。我不知道这是否适用于OP,但我认为替代函数值

编辑:我通过
ShellExecute()
解决了这个问题,正如评论中建议的那样为什么不改用CreateProcess?

在Windows上,如果不使用Windows运行时,可以尝试
\u popen
\u wpopen


我之所以使用它,主要是因为
\u popen
创建了一个管道,这样我也可以轻松地读取输出。

或者可能更简单。@user:
ShellExecute
不允许您传入允许隐藏窗口的
STARTUPINFO
结构。@Ben Voigt:但是它有
nShowCmd
。我不知道这是否适用于OP,但我认为替代函数值得一提。我使用
system()
调用只是因为它很简单。我没有看到这个调用控制台窗口,我看到了我通过
start/B mybatch.bat
执行的批处理文件控制台窗口。此标志应在不创建新窗口的情况下运行命令:
Start application,而不创建新窗口。应用程序已忽略^C处理。除非应用程序启用^C处理,^Break是中断应用程序的唯一方法。
我是否误解了这句话,批处理是在同一窗口中执行的,而不是像
start
命令通常那样启动单独的进程?