在win32中使用命令提示符

时间:2016-01-05 17:36:25

标签: c++ windows winapi cmd

我只想在命令提示符下执行一个简单的命令。我知道我们可以在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 。它上面没有文字。只显示一个简单的命令提示符。

1 个答案:

答案 0 :(得分:0)

自己找到解决方案!毕竟,它并不像我想象的那么强硬。

这是帮助我完美解决问题的link。对该链接中的线程的回复正是我所需要的。