2016-11-20 108 views
1

我有一个C++程序的Windows中,我需要知道用户具有的图形卡的类型。如何执行管道隐藏的C++

我获取它的方式是通过执行该管道命令

std::shared_ptr<FILE> pipe(_popen("wmic path win32_VideoController get name", "r"), _pclose); 

这将导致一个简短控制台窗口闪烁。

如何在不显示控制台窗口的情况下执行此管道命令?在我看来,让我的程序看起来很糟糕。

回答

0

您可以修改代码以直接使用WMI API查询WMI,而不是调用外部控制台。

看一看这个例子(还有一个用于C++):https://msdn.microsoft.com/en-us/library/aa391398(v=vs.85).aspx

+0

肯定要走的路。谢谢你,但是我很困惑如何使用它。就像在该站点上的示例C++代码一样,缓冲区包含结果文本在哪里?你能写出一个快速样本吗?我会永远爱你:D – mocode9

+0

@ mocode9该示例用于执行可能返回一个或多个结果的WQL查询。然后该示例将演示如何迭代结果集。没有一个缓冲区来保存结果文本。这就是你会投入的。这有道理吗? –

+0

是的,先生。我得到它的工作:)非常感谢你! – mocode9