2016-11-20 110 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