在win32中使用命令提示符

Using command prompt in win32

本文关键字:命令提示符 win32      更新时间:2023-10-16

我只想在命令提示符下执行一个简单的命令。我知道我们可以在win32c++项目中做到这一点。但是,我正在处理一些具体的要求,如下所述。

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。它上面没有文字,只显示了一个简单的命令提示符。

自己找到了解决方案!毕竟,这并不像我想象的那么艰难。

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