我只想在命令提示符下执行一个简单的命令。我知道我们可以在win32 c ++项目中做到这一点。但是,我正在处理如下所述的一些具体要求。
1)执行一个简单的命令。
2)从中获取输出。
3)完全隐藏命令提示符窗口。
我研究过互联网,并且能够使用popen()
完成前两个要求。但是,我怀疑甚至可以使用popen()
修改 这是我一直在使用的代码。
string execute(const char *cmd)
{
shared_ptr<FILE> pipe(_popen(cmd, "r"), _pclose);
if (!pipe) return "ERROR";
char buffer[128];
std::string result = "";
while (!feof(pipe.get()))
{
if (fgets(buffer, 128, pipe.get()) != NULL)
result += buffer;
}
return result;
}
运行上述代码时,将打开 cmd.exe 。它上面没有文字。只显示一个简单的命令提示符。